使用nssm在windows服务器上部署nodejs

时间:2022-09-17 14:32:08
转载于:http://my.oschina.net/u/1582119/blog/316069

在Linux上,可以轻松的使用forever或者pm2来部署nodejs应用。但是在windows下就麻烦了,pm2明确的说支持Linux & MacOS,forever在windows下貌似问题多多:

使用nssm在windows服务器上部署nodejs

另外还有一个选择就是iisnode,这个有空研究一下,今天先说下比较简单的nssm。nssm会监控你安装的node服务,如果node挂了,nssm会自动重启它。

安装使用

目前最新版的是2.23(下载地址),下载之后解压,根据你的系统选择32位和64位的版本,直接在nssm.exe 所在目录运行命令行,输入nssw install +你的服务名,例如:

nssm install test

之后会显示出GUI界面:

使用nssm在windows服务器上部署nodejs

Application菜单中的Path 中选择你安装的node.exe,Startup directory 选择你的node应用的目录,Argument输入你的启动文件,例如在我桌面上运行index.js (在Startup directory目录执行node index.js ):

使用nssm在windows服务器上部署nodejs

在I/O菜单中指定输出日志和错误日志位置

使用nssm在windows服务器上部署nodejs

点击Install Service:

使用nssm在windows服务器上部署nodejs

之后运行:

nssm start test

使用nssm在windows服务器上部署nodejs

服务已经启动,我刚才的index.js 文件,启动一个http服务器,监听3000端口,现在就可以打开127.0.0.1:3000 访问了:

使用nssm在windows服务器上部署nodejs

其他的设置可以参考官方文档。它的命令行操作也很简单:

nssm start <servicename> 
nssm stop <servicename>
nssm restart <servicename>

具体的操作官方文档有详细介绍,不再赘述。

目前公司的一个内网小项目使用了nodejs,找系统组申请服务器和部署比较麻烦(以前没有node项目),就自己动手在一台windows服务器上使用了nssm简单部署了一下,具体表现考察中。