PM2是node进程管理工具,可以利用它来简化很多node应用管理的繁琐任务,如性能监控、自动重启、负载均衡等,而且使用非常简单。
PM2 是一个守护进程管理工具,帮助您管理和守护您的应用程序。它以简单直观的 CLI 命令行方式进行工作。
最新的 PM2 版本可以使用 NPM 或 Yarn 安装。
pm2的安装
确认安装好nodejs和npm后,运行下node -v测试下是否安装成功。
| 12
 3
 
 | > 两种任选一即可npm install pm2 -g
 yarn global add pm2
 
 | 
pm2的使用
启动一个应用
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 
 | pm2 start 程序文件名(例test.js或test.python等等) > 在启动应用时添加相关参数:
 > 给这个任务起名
 --name {job_name} 或者 -n {job_name}
 > 文件更新时自动重启任务
 --watch
 > 开启多进程
 -i {num}
 > 设置应用重新加载的内存阈值
 --max-memory-restart <200MB>
 > 定义日志路径
 --log {log_path}
 > 脚本额外参数
 -- arg1 arg2 arg3
 > 不要自动重启应用
 --no-autorestart
 > 设置cron定时任务
 --cron {定时表达式}
 > 设置程序的解析器的路径
 --interpreter=python
 
 | 
常用的字段有如下:
| 字段 | 类型 | 示例 | 描述 | 
| name | (string) | “my-api” | 应用程序名称(默认为不带扩展名的脚本文件名) | 
| script | (string) | “./api/app.js” | 相对于 pm2 start 的脚本路径 | 
| cwd | (string) | “/var/www/” | 将启动您的应用程序的目录 | 
| args | (string) | “-a 13 -b 12” | 包含通过 CLI 传递给脚本的所有参数的字符串 | 
| interpreter | (string) | “/usr/bin/python” | 解释器绝对路径(默认为node) | 
| interpreter_args | (string) | “–harmony” | 传递给解释器的选项 | 
| node_args | (string) | interpreter_args | interpreter_args的别名 | 
其它对应用的操作
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 
 | > 查看应用状态pm2 status或者pm2 ls
 > 重启应用
 pm2 restart {id}或者pm2 reload {name}
 备注:{id}指的是pm2任务ID,{name}指的是pm2任务的名称。下面例子都用{id}。
 > 查看应用日志
 pm2 logs {id}
 > 停止应用
 pm2 stop {id}
 > 删除应用
 pm2 delete {id}
 > 查看应用详情
 pm2 describe {id}
 
 |