请教一下windows电脑重启之后pm2 中的服务没有自动启动
pm2版本
$ pm2 -v
2.5.0
pm2启动命令
"pm2": "pm2 start pm2.json --env production"
pm2.json
{
"apps": [
{
"name": "HW-TEST",
"script": "./server.js",
"env": {
"NODE_ENV": "development"
},
"env_production": {
"NODE_ENV": "production"
}
}
]
}
server.js为一个简单的express程序。
当用npm run pm2
启动后,使用pm2 list
可以看到启动的pm2服务。
$ pm2 list
┌──────────┬────┬──────┬──────┬────────┬─────────┬────────┬─────┬───────────┬──────────┐
│ App name │ id │ mode │ pid │ status │ restart │ uptime │ cpu │ mem │ watching │
├──────────┼────┼──────┼──────┼────────┼─────────┼────────┼─────┼───────────┼──────────┤
│ HW-TEST │ 0 │ fork │ 8228 │ online │ 0 │ 8m │ 0% │ 26.1 MB │ disabled │
└──────────┴────┴──────┴──────┴────────┴─────────┴────────┴─────┴───────────┴──────────┘
Use `pm2 show <id|name>` to get more details about an app
然后重启电脑,在命令行输入pm2 list
这之后pm2列表中的服务没有了。
请问一下该如何设置才能使pm2启动一次,关机重启之后pm2自动启动?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
pm2 中的服务依托于 pm2 ,因为重启之后 pm2 没有启动,所以 pm2 中的服务也不会启动。
startup 的方式在 Windows 系统下并不支持,官方的文档:
实现方法楼上已经说明,如果楼主觉得麻烦,也可以参考下第三方的实现方法 https://github.com/jon-hall/p...
先pm2 start 运行你要开机启动的程序, 再pm2 save,看看 /.pm2/dump.pm2 这个文件检查是否真的保存住了
保存住了就可以 pm2 startup
如果Windows对pm2 支持不够友好,那可以用Windows自带的启动 ,比如把启动这个程序的命令放进bat脚本。
在cmd中输入“gpedit.msc”,打开“组策略”窗口。
依次“计算机配置→Windows设置→脚本(启动/关机)”节点,
双击右侧详细资料窗格中的“启动”项目,单击“添加”按钮,
将你所写的bat脚本添加为新的计算机启动脚本。