背景
用nodejs快速搭建了一个简单的server.js,要部署到离线的服务器上面。
方式一:PM2
刚开始用的PM2来管理server.js,但是发现服务器重启之后,npm安装的PM2就不见了。
然后先是写了一个bat脚本,开机验证PM2的安装并重新挂载项目,又出现了bat卡死,整个服务器的服务都受影响。
后面又配置任务排程器启动bat脚本,也是无法运行完脚本。
所以现在舍弃了这个方式。
方式二:windows服务
下载nssm,把node.exe启动server.js注册成windows服务。
重启测试后,项目正常运行。
配置方式:在nssm.exe所在目录打开powershell,运行
nssm.exe install [服务名]会弹出配置参数的图形界面,有三个参数配置:
- Application Path:对应node.exe的路径,
- Startup directory:对应server.js所在的目录,
- Arguments:对应node项目名,我的是server.js。
最后点击Intall Service按钮,会显示服务安装成功。
win+r打开servcies.msc,进去就能找到我们注册的服务名的服务,如果不是自动,改成自动即可。
然后重启电脑测试,就大功告成啦。