守护进程pm2
之前学习node的时候就接触过,怎么说呢,像docker,pm2这种工具不用真的很容易就遗忘。好吧,简单粗暴,我直接写成blog。看自己的blog肯定比看文档来的快。至于pm2是什么,看标题!!
简单用法
安装
1
npm install -g pm2
基本指令
1
2
3
4
5
6pm2 start/restart/reload/stop/delete app.js/id #开启/重启/重载/关闭/删除
pm2 logs #查看日志
pm2 list #查看所管进程列表
pm2 monit #追踪资源运行情况
pm2 describe id #查看应用详细部署状态,id为应用id,用pm2 list查看
pm2 web安装开机自启动 在root 权限下 执行如下命令
1
2pm2 startup
pm2 save集群
开发环境中多以fork的方式启动,生产环境中多用cluster方式启动
1
pm2 start app.js -i 2 --name test
这表示启动2个并命名为test,在后台以cluster方式运行
注意: 当已经有对应应用运行时,该指令只会重启之前应用,而不会改变应用运行模式,若需要改变,必须现把之前的应用delete
预定义运行配置文件
基本配置
我们可以预定义一个配置文件,然后制定运行这个配置文件,比如我们定义一个文件process.json,内容如下:1
2
3
4
5
6
7
8
9
10{
"apps": [
{
"name": "ANodeBlog",
"script": "bin/www",
"watch": "../",
"log_date_format": "YYYY-MM-DD HH:mm Z"
}
]
}
然后可以通过1
pm2 start process.json
运行这个App。
常用属性
1 | { |
注意
- pm2 restart 不会重新加载配置文件,重写加载必须start。
- 配置文件也可以是
.js文件,如:1
2
3
4
5
6module.exports = {
apps : [{
name: "app",
script: "./app.js"
]}
}
参考
更多pm2内容请参考官方文档:
原文作者: hxkuan