pm2监控node服务,守护重启
监控node服务,挂掉自动重启,提供部署启动文件,供其统一启动
1.安装pm2
npm i pm2 -g
2.创建配置文件,例如(pm2.config.js),用于监控app.js
module.exports = {
apps: [{
name: "simple-server",
script: "./app.js",
watch: true,
env: {
"NODE_ENV": "development",
},
env_production: {
"NODE_ENV": "production"
}
}, {
name: "simple-server-cluster",
script: "./app.js",
instances: 2,
exec_mode: "cluster"
}]
}
3.目前可以做到守护重启,但是一般部署会同时控制多个项目,会有一个启动目录,存放着哥哥项目的启动脚本,所以需要提供一个脚本出去。例如:start.sh
只需要根据需要修改文件路径(写成绝对路径)
#!/bin/bash
pm2 restart //重启
pm2 startup //确保pm2正常
pm2 start pm2.config.js //这个需要绝对路径
pm2 start save //保证开机重启后能够运行
运行(同时运行了里面的四个命令)
./start.sh
然后可以使用pm2 list
查看当前所有进程
还可以pm2 show 0,1
查看某个