PM2 是 Node.js 应用程序的生产流程管理器,内置负载均衡。它可以帮助您保持 Node 应用程序永久活动,重起这些 node 应用程序也不需要停机,并简化常见的系统管理任务。
一、安装
npm install pm2@latest -g
# or
yarn global add pm2
# or
pnpm add pm2 -g
# 更新 PM2
pm2 update
二、常用命令
- 启动应用
# 支持不同文件格式
pm2 start app.js
pm2 start bashscript.sh
pm2 start python-app.py
pm2 start binary-file
pm2 start "npm run start"
pm2 start "ls -la"
pm2 start app.py
# 设置启动应用的显示名称
pm2 start app.js --name <app_name>
# 监控应用目录,一旦有文件发生更改就立刻重启应用
pm2 start app.js --watch
# 设置应用重启时,能使用内存的最大值
pm2 start app.js --max-memory-restart <200MB>
# 启动时,传递参数给 app 应用
pm2 start app.js -- arg1 arg2 arg3
# 禁止自动重启应用
pm2 start app.js --no-autorestart
- 重启、重载、停止、删除
pm2 restart app_name|app_id|all
pm2 reload app_name|app_id|all
pm2 stop app_name|app_id|all
pm2 delete app_name|app_id|all
pm2 restart app.js
pm2 restart app1 app3 app4
# 重置 restart 的计时器
pm2 reset all
- 查看运行状态
# 查看所有进程信息(app_name、app_id等)
pm2 [list|ls|status]
# 格式化输出所有pm2启动的进程
pm2 jlist # Print process list in raw JSON
pm2 prettylist # Print process list in beautified JSON
# 对应用进行排序查看
pm2 list --sort name:desc
# Or
pm2 list --sort [name|id|pid|memory|cpu|status|uptime][:asc|desc]
# 查看某个应用详情
pm2 describe app_name|app_id
pm2 show api
- 查看某个pm2进程具体情况
pm2 monit
- 日志信息
pm2 logs [--raw] # Display all processes logs in streaming
pm2 flush # Empty all log files
pm2 reloadLogs # Reload all logs
参考文档:
- https://pm2.keymetrics.io/docs/usage/quick-start/
欢迎访问:天问博客