Install

npm install pm2@latest -g # or yarn global add pm2

Manage App

pm2 restart app_name/id pm2 reload app_name/id pm2 stop app_name/id pm2 delete app_name/id # List pm2 ls/list/status pm2 list --sort [name|id|pid|memory|cpu|status|uptime][:asc|desc]

配置文件

module.exports = { apps : [ { name : 'yers', description : 'yer server', script : 'src/index.js', cwd : './projects/yer/service/', watch : false, error_file : './logs/err.log', out_file : './logs/out.log', args : '--port=8888', max_memory_restart : '500M', log_date_format : 'YYYY-MM-DD HH:mm Z' } ] };
pm2 ecosystem pm2 start ecosystem.config.js --only api-app

logs

查看

pm2 logs pm2 logs app_name/id pm2 logs --lines 200 # 清空日志 pm2 flush pm2 flush app_name/id

日志大小限制

pm2 install pm2-logrotate

设置启动脚本

服务器启动/重新启动时管理的进程重新启动 PM2
pm2 startup pm2 save # 手动恢复进程 pm2 resurrect

仪表盘

pm2 monit

Update

sudo npm install pm2@latest -g pm2 update

Node版本升级之后更新启动脚本

pm2 unstartup pm2 startup

Other

重置重启次数

pm2 reset all

pm2 作为静态服务器

module.exports = { script: "serve", env: { PM2_SERVE_PATH: '.', PM2_SERVE_PORT: 8080, PM2_SERVE_SPA: 'true', PM2_SERVE_HOMEPAGE: './index.html' } }

显示主机信息

pm2 set pm2:sysmonit true

常见问题


修改node_module指向

export PATH=$HOME/frontend/sources/node-v16.14.2-linux-x64/bin:$PATH:$HOME/.local/bin:$HOME/bin
 
badge