PM2
pm2 是一个带有负载均衡功能的node应用进程管理器,它有如下特点
- 后台运行
- 内建均衡负载
- 无间断重载
- 具有启动脚本
- 停止不稳定的进程
- 强大的控制台检测
- 远程控制和实时的接口API
下载与安装
npm install pm2 -g #全局模式下安装pm2
配置文件
可以通过配置文件来进行启动,可以创建文件 pm2_config.json
{
"apps":[
{
"name": "api",
"script":'./run.api.py',
"interperter":"/python",
"watch":true,
"ignore_watch":['winn', 'tests', 'db'],
}
]
}
//可以使用配置文件进行启动
pm2 start pm2_config.json
目录文件
pm2启动后就会生成如下目录,相关日志,pid,配置都在目录下:
- $HOME/.pm2 ====> pm2 related files
- $HOME/.pm2/logs ====> all applications logs
- $HOME/.pm2/pids ====> all applications pids
- $HOME/.pm2/pm2.log ====> pm2 logs
- $HOME/.pm2/pm2.pid ====> pm2 pid
- $HOME/.pm2/rpc.sock ====> socket file for remote commands
- $HOME/.pm2/pub.sock ====> socket file for publishable events
- $HOME/.pm2/conf.js ====> pm2 configuration
创建应用
pm2 start index.js # 快速启动应用 status = online 代表应用启动成功
pm2 start app.py # 使用 python 命令启动脚本
pm2 start index.js -n index # 启动并制定进程名
pm2 start index.js --watch # 热启动 应用
pm2 start index.js -i max # 启动并根据CPU开启相应进程数
pm2 start index.js -x # 用fork模式启动app.js 而不是用cluster模式
pm2 start index.js -x -- -a 23 # 用fork模式启动app.js 并传递参数-a 23
pm2 start index.js --name server1 # 启动一个进程并给它命名server1
命令
- pm2 list 查看应用列表
- pm2 list --sort=id 根据id排序
- pm2 logs 查看所有进程日志
- pm2 logs jlist 使用json格式在一行中展示
- pm2 logs prettylist 将json数据格式化后展示
- pm2 logs [app-name | id] 查看指定应用日志
- pm2 logs /api/ 使用正则表达式匹配日志
- pm2 logs --format 格式化输出
- pm2 logs --lines 1000 返回1000行日志
- pm2 reloadLogs 重新加载所有日志
- pm2 flush 清空所有日志
- pm2 monit 检测当前进行CPU,内存,日志
- pm2 startup 开机自启动
- pm2 unstartup 关闭自启
- pm2 kill 结束pm2 进程
- pm2 save | dump 存储进程信息
- pm2 cleardump 清楚保存的日志列表
- pm2 resurrect 恢复之前的进程
- pm2 show | describe app_name | id 显示进程详细
- pm2 reload all 重新加载索引进程
- pm2 reload app-name | id 重载指定的进程
- pm2 scale app-name 10 扩展应用进程数
- pm2 stop all 停止所有进程
- pm2 stop app-name | id 停止指定的进程
- pm2 restart all 重启所有进程
- pm2 restart app-name | id 重启指定的进程
- pm2 delete all 杀死全部进程
- pm2 delete app-name | id 杀死指定进程
轮训备份日志
- 安装pm2-logrotate pm2 install pm2-logrotate
- 设置信息
- pm2 set pm2-logrotate:max_size 100M 查过100M后备份
- pm2 set pm2-logrotate:retain 3 轮询3个日志文件,超过3个后,自动替换
本文详述了PM2这个强大的Node.js应用管理工具,包括其下载安装、配置文件使用、目录结构、应用程序创建及各种管理命令。通过PM2,你可以实现后台运行、负载均衡、日志管理等高级功能,确保你的Node.js服务稳定运行。

2199

被折叠的 条评论
为什么被折叠?



