pm2 是一个带有负载均衡功能的Node应用的进程管理器。
一、概述
PM2是一个带有负载均衡功能的Node.js应用的进程管理器。它允许你永远保持应用的存活,重新加载无需停机。
二、安装PM2
$ npm install pm2 -g
注:需要安装Node.js、npm
三、启动Node.js应用
$ pm2 start app.js
四、更新PM2
$ pm2 update
五、主要特点
1、命令概述
# 常用
$ npm install pm2 -g # 安装 PM2
$ pm2 start app.js # 启动 守护进程 并且 重启应用 (Node)
$ pm2 start app.py # 启动 守护进程 并且 重启应用 (Python)
$ pm2 start npm -- start # 启动 守护进程 并且 重启应用
# 集群模式 (仅限Node.js)
$ pm2 start app.js -i 4 # 在集群模式下启动4个应用实例
# 它将加载平衡网络查询到每个应用程序
$ pm2 reload all # 0 秒停机重新加载
$ pm2 scale [app-name] 10 # 扩展 10个进程到集群中
# 进程监控
$ pm2 list # 使用PM2列出所有的过程
$ pm2 monit # 显示应用程序的内存和CPU的使用情况
$ pm2 show [app-name] # 显示[app-name]应用程序的信息
# 日志管理
$ pm2 logs # 显示所有应用程序的日志
$ pm2 logs [app-name] # 显示特定应用程序的日志
$ pm2 logs --json # JSON格式的日志
$ pm2 flush
$ pm2 reloadLogs
# 过程状态管理
$ pm2 start app.js --name="api" # 启动应用程序并命名它为“api”
$ pm2 start app.js -- -a 34 # 启动应用程序和传递选项“-a 34”作为参数
$ pm2 start app.js --watch # 监控文件变化并重启
$ pm2 start script.sh # 启动bash脚本
$ pm2 start app.json # 通过配置文件启动应用
$ pm2 reset [app-name] # 重置所有计数器
$ pm2 stop all # 停止所有的应用程序
$ pm2 stop 0 # 停止进程id为0的应用
$ pm2 restart all # 重新启动所有的应用程序
$ pm2 gracefulReload all # 在集群模式下优雅重载所有应用程序
$ pm2 delete all # 杀死和删除所有应用程序
$ pm2 delete 0 # 杀死进程id为0的应用
# 启动/启动管理
$ pm2 startup # 检测系统初始化,生成和启动配置PM2 boot
$ pm2 save # 保存当前进程列表
$ pm2 resurrect # 恢复以前保存进程
$ pm2 unstartup # 禁用和删除启动系统
$ pm2 update # 保存进程, 杀死 PM2 并 恢复进程
$ pm2 generate # 生成JSON配置文件示例
# 部署
$ pm2 deploy app.json prod setup # 设置 "prod" 远程服务器
$ pm2 deploy app.json prod # 更新 "prod" 远程服务器
$ pm2 deploy app.json prod revert 2 # 回复2 "prod" 远程服务器
# 系统模块
$ pm2 module:generate [name] # 以[name]生成示例模块
$ pm2 install pm2-logrotate # 安装模块(这里有一个日志轮换系统)
$ pm2 uninstall pm2-logrotate # 卸载模块
$ pm2 publish # 增加版本号,git push和NPM发布
2、进程管理器
pm2 list
pm2 monit
https://static.oschina.net/uploads/space/2017/0222/163300_aHGM_1251467.png
想了解更多的知识,可以查阅官方网站 http://pm2.keymetrics.io/