pm2使用
pm2概述
- 内建负载均衡(使用Node cluster 集群模块)
- 后台运行
- 0秒停机重载(维护升级的时候不需要停机).
- 具有Ubuntu和CentOS 的启动脚本
- 停止不稳定的进程(避免无限循环)
- 控制台检测
- 提供 HTTP API
- 远程控制和实时的接口API ( Nodejs 9.模块,允许和PM2进程管理器交互 )
pm2命令
npm install pm2 -g # 命令行安装 pm2
pm2 start app.js -i 4 #后台运行pm2,启动4个app.js
# 也可以把'max' 参数传递给 start
# 正确的进程数目依赖于Cpu的核心数目
pm2 start app.js --name my-api # 命名进程
pm2 list # 显示所有进程状态
pm2 monit # 监视所有进程
pm2 logs # 显示所有进程日志
pm2 stop all # 停止所有进程
pm2 restart all # 重启所有进程
pm2 reload all # 0秒停机重载进程 (用于 NETWORKED 进程)
pm2 stop 0 # 停止指定的进程
pm2 restart 0 # 重启指定的进程
pm2 startup # 产生 init 脚本 保持进程活着
pm2 web # 运行健壮的 computer API endpoint (http://localhost:9615)
pm2 delete 0 # 杀死指定的进程
pm2 delete all # 杀死全部进程
pm2目录卸载
rm /usr/local/bin/pm2
rm -r /usr/local/lib/node_modules
rm -r /root/.pm2/
``
### pm2 自启动
安装pm2
npm install pm2 -g
保存当前进程状态
pm2 save
生成开机自启动服务
pm2 startup
启用开机自启:
systemctl enable pm2-root
### pm2 运行npm命令
### 简单用法
1. npm run dev
2. pm2 start npm -- run dev
以上使用是等效的
#### 监听并重新命名运行(--watch监听代码变化,--name 重命令任务名称,-- run后面跟脚本名字)
pm2 start npm --watch --name nickname -- run dev
### 手动删除pm2日志
pm2 flush
### 自动删除pm2日志
pm2 install pm2-logrotate // 注意是pm2 install而不是npm install
pm2 set pm2-logrotate-ext:retain 7 //保存7个文件
pm2 set pm2-logrotate-ext:max_size 100M //每个备份文件大小为100M