温馨提示×

Node.js日志切割在Ubuntu上如何实现

小樊
36
2025-11-20 07:29:10
栏目: 编程语言

在Ubuntu上实现Node.js应用程序的日志切割,可以使用pm2工具。pm2是一个功能强大的Node.js进程管理器,它可以帮助你管理、监控和保持Node.js应用程序的稳定性。pm2内置了日志管理功能,可以自动切割日志文件。

以下是如何在Ubuntu上使用pm2实现Node.js日志切割的步骤:

1. 安装Node.js和npm

如果你还没有安装Node.js和npm,可以使用以下命令进行安装:

sudo apt update
sudo apt install nodejs npm

2. 安装pm2

使用npm安装pm2

sudo npm install pm2 -g

3. 启动Node.js应用程序

使用pm2启动你的Node.js应用程序。假设你的应用程序入口文件是app.js

pm2 start app.js --name my-app

4. 配置日志切割

pm2默认会自动切割日志文件,并保留最近7天的日志。你可以通过编辑pm2的配置文件来调整这些设置。

首先,生成一个默认的配置文件:

pm2 ecosystem

这会生成一个ecosystem.config.js文件。你可以编辑这个文件来配置日志切割选项。例如:

module.exports = {
  apps: [{
    name: 'my-app',
    script: 'app.js',
    instances: 'max',
    exec_mode: 'cluster',
    autorestart: true,
    watch: false,
    max_memory_restart: '1G',
    env: {
      NODE_ENV: 'development'
    },
    env_production: {
      NODE_ENV: 'production'
    },
    log_date_format: 'YYYY-MM-DD HH:mm Z',
    out_file: './logs/out.log',
    error_file: './logs/error.log',
    merge_logs: true,
    log_file: './logs/pm2.log',
    time: true,
    max_logs: 10, // 保留最近10个日志文件
    cron_restart: '0 0 * * *' // 每天午夜重启应用
  }]
};

在这个配置文件中,你可以设置以下选项:

  • max_logs: 保留最近多少个日志文件。
  • cron_restart: 设置定时任务来重启应用,从而触发日志切割。

5. 应用配置并重启应用

保存ecosystem.config.js文件后,使用以下命令应用配置并重启应用:

pm2 reload ecosystem.config.js

6. 查看日志

你可以使用pm2 logs命令查看应用的日志:

pm2 logs my-app

7. 停止和删除应用

如果你需要停止或删除应用,可以使用以下命令:

pm2 stop my-app
pm2 delete my-app

通过以上步骤,你可以在Ubuntu上使用pm2实现Node.js应用程序的日志切割和管理。

0