前端进阶之旅前端进阶之旅
基础篇
进阶篇
高频篇
精选篇
手写篇
原理篇
面经篇
自检篇
每日一题
  • 综合
    • 综合题型
    • 其他问题
    • 设计模式
    • 思维导图
    • 学习路线
  • 前端基础
    • HTTP
    • 浏览器
    • 计算机基础
  • 进阶学习
    • NPM工作流
    • Docker
    • Canvas
    • Node学习指南
    • 前端综合文章
  • 其他
    • Handbook
    • 职场话题
    • CSS可视化
小程序题库
公众号动态
博客动态
开发者导航
基础篇
进阶篇
高频篇
精选篇
手写篇
原理篇
面经篇
自检篇
每日一题
  • 综合
    • 综合题型
    • 其他问题
    • 设计模式
    • 思维导图
    • 学习路线
  • 前端基础
    • HTTP
    • 浏览器
    • 计算机基础
  • 进阶学习
    • NPM工作流
    • Docker
    • Canvas
    • Node学习指南
    • 前端综合文章
  • 其他
    • Handbook
    • 职场话题
    • CSS可视化
小程序题库
公众号动态
博客动态
开发者导航

pm2 ecosystem部署应用以及日志管理pm2-logrotate

首页
2025-11-12 14:40:12
Front-End
Docker

本文记录了使用ecosystem部署应用,并且处理因PM2日志文件过大导致服务器磁盘空间耗尽的问题解决过程。通过安装并配置pm2-logrotate插件实现了日志文件的自动化管理,确保了服务器的稳定运行。

# ecosystem配置

// 在nodejs/nextjs项目根目录创建 ecosystem.config.js
module.exports = {
  apps: [
    {
      name: 'my-app-name',
      script: './server.js', // 服务启动脚本
      watch: false, // 禁用文件监视,提高性能
      instances: 2, // 指定要启动的实例数量 // 0 和 max 同义
      exec_mode: 'cluster', // 启用集群模式,指定要启动的实例数量
      // 启用文件日志记录
      output: './logs/app-out.log', // 标准输出日志文件
      error: './logs/app-error.log', // 错误日志文件
      // log: './logs/combined.log',        // 合并日志文件(可选)
      // 日志配置
      log_date_format: 'YYYY-MM-DD HH:mm Z',
      merge_logs: false, // 为每个实例单独日志
      time: true, // 在日志中添加时间戳
      env: {}
    }
  ]
}
@前端进阶之旅: 代码已经复制到剪贴板

一级部署应用

pm2-runtime ecosystem.config.js
@前端进阶之旅: 代码已经复制到剪贴板

# pm2日志管理logrotate

永久解决日志文件过大,使用日志管理用的插件 pm2-logrotate

安装插件pm2-logrotate

pm2 install pm2-logrotate
@前端进阶之旅: 代码已经复制到剪贴板

查看日志配置

$ pm2 conf pm2-logrotate

Module: pm2-logrotate
$ pm2 set pm2-logrotate:max_size 10M
$ pm2 set pm2-logrotate:retain 50
$ pm2 set pm2-logrotate:compress false
$ pm2 set pm2-logrotate:dateFormat YYYY-MM-DD_HH-mm-ss
$ pm2 set pm2-logrotate:workerInterval 1
$ pm2 set pm2-logrotate:rotateInterval 0 0 * * *
$ pm2 set pm2-logrotate:rotateModule true
Modul
fe
  • ecosystem配置
  • pm2日志管理logrotate
  • 结合Dockerfile部署Nextjs

← Next.js 15/16 用户必看 官方发布严重安全漏洞修复,务必立即升级Next.js 16带来哪些变革?深度解析新版本核心特性与升级指南 →