PM2的主要特性:
- 内建负载均衡(使用Node cluster 集群模块)
- 后台运行
- 0秒停机重载
- 具有Ubuntu和CentOS 的启动脚本
- 内存的使用 过多了 CPU调度太频繁 会帮助你重启
- 停止不稳定的进程(避免无限循环)
- 控制台检测
- 提供 HTTP API
- 远程控制和实时的接口API ( Nodejs 模块,允许和PM2进程管理器交互 )
- 查看restart 个数 就能知道代码是否有问题,但是提前要走压测,wrk
安装
npm install pm2 -g
- 只装save里面的依赖,cnpm install --production
常用命令
$ pm2 start pm2.json
用配置文件启动app项目
$ pm2 restart pm2.json
重启
$ pm2 list
列出由pm2管理的所有进程信息,还会显示一个进程会被启动多少次,如果启动次数多
$ pm2 monit
监视每个node进程的CPU和内存的使用情况
$ pm2 logs
显示所有进程日志
pm2 线上监控平台: https://app.keymetrics.io/api/oauth/login
![](https://img.haomeiwen.com/i9064121/25b256b43230ac06.png)
![](https://img.haomeiwen.com/i9064121/4a5debad680eecee.png)
PM2.json
{
"apps": [
{
"name": "worker",
"script": "./app.js",
"out_fil": "log/node-app.stdout.log",
"watch": true,
"instances" : "max",
"exec_mode" : "cluster"
}]
}
说明:
- name:应用程序名称
- script:应用程序的脚本路径
- out_file:自定义应用程序日志文件
- watch:监听应用目录的变化,一旦发生变化,自动重启
- instances:启用多少个实例,用于负载均衡
- exec_mode:应用程序启动模式,这里设置的是cluster_mode(集群),默认是fork
网友评论