pm2

PM2

介绍

PM2 是一个守护进程管理器,可帮助您管理和保持应用程序在线。pm2提供了很多实用的功能,例如日志、性能监控、自动重启、负载均衡等。
安装
$ npm install pm2@latest -g
更新
$ npm install pm2@latest -g $ pm2 update

进程管理

// 启动 $ pm2 start app.js // 重启 $ pm2 restart app_name // 重新加载 $ pm2 reload app_name // 停止 $ pm2 stop app_name // 删除 $ pm2 delete app_name
app_name可以是项目name,也可以是id。

启动参数

pm2 start时可以进行参数配置,配置参数如下
# Specify an app name --name <app_name> # Watch and Restart app when files change --watch # Set memory threshold for app reload --max-memory-restart <200MB> # Specify log file --log <log_path> # Pass extra arguments to the script -- arg1 arg2 arg3 # Delay between automatic restarts --restart-delay <delay in ms> # Prefix logs with time --time # Do not auto restart app --no-autorestart # Specify cron for forced restart --cron <cron_pattern> # Attach to application log --no-daemon

查看状态

以下指令都可以查看pm2当前所有项目进程的状态列表。
$ pm2 list $ pm2 status $ pm2 ls $ pm2 l
输出如下
┌─────┬─────────────┬─────────────┬─────────┬─────────┬──────────┬────────┬──────┬───────────┬──────────┬──────────┬──────────┬──────────┐ │ id │ name │ namespace │ version │ mode │ pid │ uptime │ ↺ │ status │ cpu │ mem │ user │ watching │ ├─────┼─────────────┼─────────────┼─────────┼─────────┼──────────┼────────┼──────┼───────────┼──────────┼──────────┼──────────┼──────────┤ │ 0 │ blog_end │ default │ 0.37.2 │ fork │ 24594 │ 16m │ 0 │ online │ 0% │ 32.8mb │ root │ disabled │ └─────┴─────────────┴────────────┴─────────┴─────────┴──────────┴────────┴──────┴───────────┴──────────┴──────────┴──────────┴──────────┘

查看日志

实时显示日志
$ pm2 log
查看历史日志(最近的200行)
$ pm2 log --lines 200
查看特定项目的日志
$ pm2 log app_name/app_id
只看错误日志
$ pm2 log --err app_name/app_id
清空所有日志文件
$ pm2 flush
重新加载所有日志文件
$ pm2 reloadLogs

调试

pm2可视化面板,以可视化的界面查看项目实时log、负载等信息。
$ pm2 monit