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
最后更新于