PM2是node进程管理工具,可以利用它来简化很多node应用管理的繁琐任务,如性能监控、自动重启、负载均衡等,而且使用非常简单。
PM2 是一个守护进程管理工具,帮助您管理和守护您的应用程序。它以简单直观的 CLI 命令行方式进行工作。
最新的 PM2 版本可以使用 NPM 或 Yarn 安装。
pm2的安装
确认安装好nodejs和npm后,运行下node -v测试下是否安装成功。
1 2 3
| > 两种任选一即可 npm install pm2 -g yarn global add pm2
|
pm2的使用
启动一个应用
1 2 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的别名 |
其它对应用的操作
1 2 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}
|