程序谷 认真生活 享受生活

PM2相关操作

⚠️ 本文最后更新于2024年01月27日,已经过了496天没有更新,若内容或图片失效,请留言反馈
图片描述

开机启动

Windows开机启动

  • 安装启动库
npm install pm2-windows-startup -g
  • 执行命令
pm2-startup install
  • 设置开机启动
pm2 start [程序]
pm2 startup
pm2 save

Linux开机启动

  • 安装
    npm install pm2 -g
  • linux开机启动
pm2 start [程序]
pm2 startup
pm2 save

重启测试,如果不成功,根据提示操作即可。

日志管理

清空日志

pm2 flush

自动清理日志

安装库

pm2 install pm2-logrotate

设置pm2-logrotat

//保留的日志文件个数,比如设置为10,那么在日志文件达到10个后会将最早的日志文件删除掉
pm2 set pm2-logrotate:retain 50 

不设置默认就是30

其他设置

$ pm2 set pm2-logrotate:max_size 10M
$ pm2 set pm2-logrotate:dateFormat YYYY-MM-DD_HH-mm-ss # 文件名时间格式
$ pm2 set pm2-logrotate:workerInterval 3600
$ pm2 set pm2-logrotate:rotateInterval 0 0 * * *
$ pm2 set pm2-logrotate:TZ Asia/Shanghai # 中国时区

参数说明

  • Compress
    是否通过gzip压缩日志
  • max_size
    单个日志文件的大小,比如上图中设置为1K(这个其实太小了,实际文件大小并不会严格分为1K)
  • retain
    保留的日志文件个数,比如设置为10,那么在日志文件达到10个后会将最早的日志文件删除掉
  • dateFormat
    日志文件名中的日期格式,默认是YYYY-MM-DD_HH-mm-ss,注意是设置的日志名+这个格式,如设置的日志名为abc.log,那就会生成abc_YYYY-MM-DD_HH-mm-ss.log名字的日志文件
  • rotateModule
    把pm2本身的日志也进行分割
  • workerInterval
    设置启动几个工作进程监控日志尺寸,最小为1
  • rotateInterval
    设置强制分割,默认值是0 0 *,意思是每天晚上0点分割,这个足够了个人觉得

PM2常用命令

开始

$ pm2 start app.js # 启动app.js应用程序
$ pm2 start app.js -i 4 # cluster mode 模式启动4个app.js的应用实例
# 4个应用程序会自动进行负载均衡
$ pm2 start app.js --name="api" # 启动应用程序并命名为 "api"
$ pm2 start app.js --watch # 当文件变化时自动重启应用
$ pm2 start script.sh # 启动 bash 脚本

$ pm2 list # 列表 PM2 启动的所有的应用程序
$ pm2 monit # 显示每个应用程序的CPU和内存占用情况
$ pm2 show [app-name] # 显示应用程序的所有信息

$ pm2 logs # 显示所有应用程序的日志
$ pm2 logs [app-name] # 显示指定应用程序的日志
$ pm2 flush #清空日志

$ pm2 stop all # 停止所有的应用程序
$ pm2 stop 0 # 停止 id为 0的指定应用程序
$ pm2 restart all # 重启所有应用
$ pm2 reload all # 重启 cluster mode下的所有应用
$ pm2 gracefulReload all # Graceful reload all apps in cluster mode
$ pm2 delete all # 关闭并删除所有应用
$ pm2 delete 0 # 删除指定应用 id 0
$ pm2 scale api 10 # 把名字叫api的应用扩展到10个实例
$ pm2 reset [app-name] # 重置重启数量

$ pm2 startup # 创建开机自启动命令
$ pm2 save # 保存当前应用列表

没有外网怎么PM2?

下载pm2包

PM2

复制到项目中

//解压
unzip pm2.zip

使用

//启动
./pm2/bin/pm2 start xxx.js
//停止
./pm2/bin/pm2 stop xxx.js
//开机启动
./pm2/bin/pm2 startup
./pm2/bin/pm2 save
By 大芃展翅 On
此页面评论区已关闭
程序谷 |  蜀ICP备2020031553号-1