在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应用程序的日志将在指定时间自动轮转。