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

最后更新于