要设置Nginx日志的轮转策略,您可以使用logrotate
工具。以下是配置Nginx日志轮转的步骤:
确保已经安装了logrotate
。在大多数Linux发行版中,logrotate
已经预装。如果没有,请使用包管理器进行安装。
创建一个logrotate
配置文件,专门用于Nginx日志。在/etc/logrotate.d/
目录下创建一个名为nginx
的文件:
sudo touch /etc/logrotate.d/nginx
nginx
文件,并添加以下内容:/var/log/nginx/*.log {
daily
missingok
compress
delaycompress
notifempty
create 0640 www-data adm
sharedscripts
postrotate
if [ -f /var/run/nginx.pid ]; then
kill -USR1 `cat /var/run/nginx.pid`
fi
endscript
}
这里的配置解释如下:
daily
: 每天轮转日志。missingok
: 如果日志文件不存在,不会产生错误。compress
: 轮转后的日志文件会被压缩。delaycompress
: 延迟压缩,直到下一次轮转。notifempty
: 如果日志文件为空,则不进行轮转。create 0640 www-data adm
: 创建新的日志文件,权限为0640,属主为www-data,属组为adm。sharedscripts
: 如果有多个日志文件,只执行一次postrotate
脚本。postrotate
和endscript
之间的脚本会在日志轮转后执行。这里发送一个USR1信号给Nginx进程,通知它重新打开日志文件。保存并关闭文件。
测试logrotate
配置是否正确:
sudo logrotate -f /etc/logrotate.d/nginx
这个命令会强制执行Nginx日志轮转。如果一切正常,您应该能看到日志文件被压缩和重新创建。
现在,Nginx日志轮转策略已经设置好了。logrotate
会根据配置自动执行日志轮转。您可以根据需要调整配置文件中的选项,以满足您的需求。