PM2知识点汇总

本文详述了PM2这个强大的Node.js应用管理工具,包括其下载安装、配置文件使用、目录结构、应用程序创建及各种管理命令。通过PM2,你可以实现后台运行、负载均衡、日志管理等高级功能,确保你的Node.js服务稳定运行。

PM2

pm2 是一个带有负载均衡功能的node应用进程管理器,它有如下特点

  1. 后台运行
  2. 内建均衡负载
  3. 无间断重载
  4. 具有启动脚本
  5. 停止不稳定的进程
  6. 强大的控制台检测
  7. 远程控制和实时的接口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个后,自动替换
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值