在Linux上,可以轻松的使用forever或者pm2来部署nodejs应用。但是在windows下就麻烦了,pm2明确的说支持Linux & MacOS,forever在windows下貌似问题多多:
另外还有一个选择就是iisnode,这个有空研究一下,今天先说下比较简单的nssm。nssm会监控你安装的node服务,如果node挂了,nssm会自动重启它。
安装使用
目前最新版的是2.23(下载地址),下载之后解压,根据你的系统选择32位和64位的版本,直接在nssm.exe
所在目录运行命令行,输入nssw install
+你的服务名,例如:
- nssm install test
之后会显示出GUI界面:
在Path
中选择你安装的node.exe,Startup directory
选择你的node应用的目录,Argument
输入你的启动文件,例如在我桌面上运行index.js
(在Startup directory目录执行node index.js
):
点击Install Service:
之后运行:
- nssm start test
服务已经启动,我刚才的index.js
文件,启动一个http服务器,监听3000端口,现在就可以打开127.0.0.1:3000
访问了:
其他的设置可以参考官方文档。它的命令行操作也很简单:
- nssm start <servicename>
- nssm stop <servicename>
- nssm restart <servicename>
具体的操作官方文档有详细介绍,不再赘述。
目前公司的一个内网小项目使用了nodejs,找系统组申请服务器和部署比较麻烦(以前没有node项目),就自己动手在一台windows服务器上使用了nssm简单部署了一下,具体表现考察中。