将 Js 转换为服务(NodeJs):将 NodeJs 作为 Windows 服务运行
许多人可能知道,NodeJS 在作为服务运行时存在严重的内存泄漏问题。我认为在 Windows 上也不例外。
因此,像 NSSM https://nssm.cc/ 和 WinSW 这样的标准程序并不适合将 NodeJS 转换为服务。有一些商业程序可以监控内存泄漏:
- AlwaysUp
- FireDaemon Pro
- EXE Service
我们将使用 EXE Service,因为它已经为将 NodeJS 转换为服务提供了现成的配置示例,并且还提供了用于修复服务以确保稳定运行的 js 脚本。不用担心在 "EXE to Service" 中使用 JavaScript (ES2023);它使用自己设计的 js 引擎来修复服务并在服务活动异常时通知我们。
如何将 Node.js 作为 Windows 服务运行
步骤 1:打开 EXE Service
安装 EXE Service 后,桌面上会出现一个快捷方式。
图形界面仅用于简化服务创建。如果您在没有图形界面的 Windows Server 上运行,您有两个选择:
- 在普通电脑上创建服务,然后将其传输到服务器。
- 在服务器上直接使用命令行运行 exeservice.exe。 (图形界面支持 Windows Nano/Core)
步骤 2:创建新服务
EXE Service 已经包含一个现成的 js 转服务 (NodeJS) 示例。
只需点击 "从示例创建" 按钮。

步骤 3:设置 NodeJS 脚本的路径
在出现的窗口中,您必须指定正确的路径:
- nodejs.exe 可执行文件的路径:默认情况下:
C:\Program Files\nodejs\ - 工作目录:指定您的脚本所在的文件夹。
- 参数:指定运行 nodejs 的参数。

步骤 4:保存并启动服务
点击 "创建服务" 来创建 Windows 服务。
如果您希望服务立即在此计算机上启动,请点击 "启动"。
此后,NodeJS 将:
- 作为 Windows 服务启动
- 随系统自动启动
- 可通过 Windows 服务管理器 (
services.msc) 进行管理
在接下来的文章中,我将解释如何创建通知,以及如何处理 Node.js 出现内存泄漏时的危急情况。