PM2 Node 应用进程管理器常用命令
2023-05-08 本文已影响0人
羋学僧
进程状态管理
$ pm2 start app.js # 启动app.js应用程序
$ 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 restart all # 重启所有应用
$ pm2 restart app-name|app-id # 重启指定应用
$ pm2 stop all # 停止所有的应用程序
$ pm2 stop app-name|app-id # 停止指定应用程序
$ pm2 delete all # 关闭并删除所有应用
$ pm2 delete app-name|app-id # 删除指定应用 id 0
$ pm2 gracefulReload all #在集群模式下,平稳的重加载所有应用
$ pm2 reset app-name # 重置所有计数器
日志管理
$ pm2 logs # 显示所有应用程序的日志
$ pm2 logs app-name|app-id # 显示指定应用程序的日志
$ pm2 logs --json #以JSON格式查看日志
$ pm2 logs --format #以特殊日期格式查看日志
$ pm2 logs --raw #查看近3行日志
$ pm2 flush
进程监控
$ pm2 list/ls/l # 列表 PM2 启动的所有的应用程序
$ pm2 monit # 显示每个应用程序的CPU和内存占用情况
$ pm2 show app-name|app-id # 显示指定应用程序的所有信息
$ pm2 show all # 显示所有应用程序的信息
集群模式 (只支持node进程)
$ pm2 start app.js -i 4 # 在集群模式下,启动4个应用程序实例,同时,将网络请求,负载均衡到每个应用实例
$ pm2 reload all # 0秒重启集群下所有应用
$ pm2 scale [app-name] 10 # 将应用进程调整到10
#$ pm2 scale api 10 # 把名字叫api的应用扩展到10个实例
启动/引导管理
$ pm2 startup # 创建开机自启动命令
$ pm2 save # 保存当前进程
$ pm2 resurrect # 恢复以前保存的进程
$ pm2 unstartup # 停用和删除启动系统
$ pm2 update # 保存进程,终止PM2并恢复进程
$ pm2 generate # 生成样本json配置文件
部署
$ pm2 deploy app.json prod setup # 设置“生产环境”远程服务器。
$ pm2 deploy app.json prod # 更新“生产环境”远程服务器。
$ pm2 deploy app.json prod revert 2 # 将“生产环境”远程服务器恢复2
模块系统
$ pm2 module:generate [name] # 生成名称为[name]的示例模块。
$ pm2 install pm2-logrotate # 安装模块(这里是日志循环系统)。
$ pm2 uninstall pm2-logrotate # 卸载模块。
$ pm2 publish # 增量版本,git push和npm发布。