因为pm2对windows系统兼容性问题,导致pm2本身的开机自启无法在windows使用。以下方式也是借鉴使用的:
1.安装依赖
npm install node-windows --save
当然你也可以在package.json配置依赖项,然后npm install
执行之后会有两个文件一个是 node-windows,另一个是xml
2.项目根目录创建nw.js(自己定义)。内容如下
let Service = require('node-windows').Service;
let svc = new Service({
name:'caserver', //服务名称
description:'凯迪拉克后台', //服务描述
script:'bin/www', //启动的文件路径
wait:'1', //程序崩溃重启时间间隔
grow:'0.25', //重启等待时间的间隔 如1,第二次1.25
maxRestarts:'40' //60s内最大重启次数
});
//监听安装
svc.on('install',()=>{
svc.start();
console.log('服务已开启')
});
//卸载
svc.on('uninstall',()=>{
console.log('已卸载');
});
//只安装一次
svc.on('alreadyinstalled',()=>{
})
//存在就卸载。node nw.js 安装,再运行一次就是卸载
if(svc.exists) return svc.uninstall()
svc.install();
3. 运行nw.js文件
命令:node nw.js 这个时候如果安装了安全管家等软件会阻止,直接允许就可以了。
运行成功后在电脑的服务中就能看到这个服务,可以像普通的windows-server服务一样操作。
4. 现在就可以连接nodejs项目,Nodejs项目开机自启动基本已完成。再次运行 node nw.js命令会卸载掉我们安装的服务。
参考地址:https://blog.csdn.net/github_39294367/article/details/76285852