在Ubuntu上设置Node.js应用程序的日志轮转,可以使用pm2
这个进程管理器。pm2
可以帮助你管理Node.js应用程序的运行、监控日志以及实现日志轮转。以下是设置步骤:
-
首先确保你已经安装了Node.js和npm。
-
使用npm全局安装pm2:
sudo npm install pm2 -g
- 启动你的Node.js应用程序:
pm2 start app.js --name my-app
这里app.js
是你的Node.js应用程序的入口文件,my-app
是应用程序的名称。
- 为了实现日志轮转,你需要创建一个名为
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' } } ] };
这里name
是应用程序的名称,script
是应用程序的入口文件,instances
设置为max
表示根据CPU内核数自动扩展实例数量,exec_mode
设置为cluster
表示使用集群模式运行。
- 更新你的PM2启动命令以使用新创建的配置文件:
pm2 start ecosystem.config.js --env production
这里--env production
表示使用生产环境配置。
- 现在你可以使用以下命令来实现日志轮转:
pm2-logrotate
你可以将这个命令添加到crontab
中以实现定期执行。例如,每天凌晨1点执行日志轮转:
0 1 * * * pm2-logrotate
要编辑crontab
,运行:
crontab -e
然后将上面的命令添加到文件中并保存。
现在你的Node.js应用程序的日志将在指定时间自动轮转。