npm 包 windows-services 使用教程

阅读时长 4 分钟读完

什么是 npm 包?

npm (short for Node Package Manager) 是 Node.js 的包管理工具,可以用来安装、升级、卸载 Node.js 应用所依赖的各种模块/包/组件,同时也是发布和查找 Node.js 模块的主要平台和社区。

npm 包的本质其实就是一个包含 JavaScript 代码的压缩包,里面有一份 package.json 配置文件,记录了该包的信息和依赖关系。同时,npm 包还支持添加自定义的命令,例如一些工具库可以添加命令行工具来方便使用。

什么是 windows-services?

windows-services 是一个用于 Node.js 应用在 Windows 操作系统下注册为系统服务(System Service)的工具库,实现守护进程(Daemon)的管理和监控。

注册为系统服务后,Node.js 应用将不需要手动启动和停止,而是由系统服务管理程序自动启动和守护,仅在需要卸载或更新时(比如应用程序升级),再由服务管理程序负责完成。

windows-services 支持以下特性:

  • 支持后台守护进程管理,不会出现在任务栏和托盘区,保持系统整洁。
  • 支持关闭控制、暂停/继续控制、重启控制和日志记录等功能。
  • 集成了基于 winlog 的系统日志记录模块,可以方便的记录系统事件和异常信息。

如何使用 windows-services?

windows-services 可以通过 npm 包管理工具安装和使用,下面是详细的安装和使用教程。

安装 windows-services

在命令行中输入以下命令来安装 windows-services:

使用 windows-services

  • 第一步:编写 Node.js 应用程序

假设我们已经编写了一个 Node.js 应用程序,它的入口文件是 app.js,具体代码如下:

-- -------------------- ---- -------
----- ---- - ----------------

----- ------ - ----------------------- ---- -- -
  -------------- ---------
---

------------------- -- -- -
  ------------------- -- ------- -- ---- -------
---

这是一个非常简单的应用程序,只是一个简单的 http 服务器。

  • 第二步:添加 windows-services 配置

接下来,我们需要添加 windows-services 的配置文件,即 sample-service.json,具体代码如下:

其中,name 是服务的名称,description 是服务的描述,script 是 Node.js 应用程序的入口文件路径。

nodeOptions 是 Node.js 进程的启动参数,env 是 Node.js 应用程序的环境变量。

  • 第三步:注册 windows-services

在命令行中,切换到 Node.js 应用程序的根目录下,并执行以下命令:

这个命令将启动 windows-services 服务安装程序,并提示您填写窗体上的信息,例如“服务名称”,“Node.js 应用程序路径”,“Logon 账户”,“服务描述”,“工作目录”和“环境变量”等关键信息。

当完成配置之后,您将会看到服务管理程序已经将 Node.js 应用程序安装为一个 Windows 系统服务,您可以在系统服务列表中查找它,也可以使用 nssm 命令来操作该服务。

例如,如果您要查看该服务的状态,可以使用以下命令:

如果您要关闭该服务,可以使用以下命令:

示例代码

https://github.com/coreybutler/nssm/tree/develop/sample/nodejs

总结

windows-services 是一个非常实用的 Node.js 工具库,它可以帮助我们在 Windows 操作系统下,将 Node.js 应用程序编写为系统服务,实现自动守护管理和监控。 使用 windows-services 的过程中,需要注意配置和管理的细节。 希望本文对您有所帮助,您可以自行查阅官方文档来深入了解该库的更多功能和用法。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/600572f581e8991b448e9192

纠错
反馈