在Ubuntu上设置Node.js应用程序的日志轮转,可以使用pm2
这个进程管理器。pm2
可以帮助你管理Node.js应用程序的运行、监控日志以及实现日志轮转。以下是设置步骤:
首先确保你已经安装了Node.js和npm。
使用npm全局安装pm2:
sudo npm install pm2 -g
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 start ecosystem.config.js --env production
这里--env production
表示使用生产环境配置。
pm2-logrotate
你可以将这个命令添加到crontab
中以实现定期执行。例如,每天凌晨1点执行日志轮转:
0 1 * * * pm2-logrotate
要编辑crontab
,运行:
crontab -e
然后将上面的命令添加到文件中并保存。
现在你的Node.js应用程序的日志将在指定时间自动轮转。