要设置 Nginx 日志保留期限,您可以使用 logrotate 工具来自动管理日志文件
确保 logrotate 已安装在您的系统上。在大多数 Linux 发行版中,logrotate 都是预装的。如果没有,请使用包管理器(如 apt-get 或 yum)安装它。
创建一个新的 logrotate 配置文件,或在现有的配置文件中添加以下内容。通常,这个文件位于 /etc/logrotate.d/nginx。如果文件不存在,请创建一个:
/var/log/nginx/*.log {
daily;
missingok;
rotate 7;
compress;
notifempty;
create 0640 www-data adm;
}
这个配置文件的解释如下:
daily:每天轮转日志文件。missingok:如果日志文件不存在,不会产生错误。rotate 7:保留最近 7 天的日志文件。compress:压缩旧的日志文件以节省空间。notifempty:如果日志文件为空,则不进行轮转。create 0640 www-data adm:创建新的日志文件,并设置适当的权限和所有者。根据您的需求调整配置文件。例如,如果您希望保留 30 天的日志文件,将 rotate 7 更改为 rotate 30。
保存并关闭配置文件。
测试 logrotate 配置是否正确。运行以下命令:
logrotate -f /etc/logrotate.d/nginx
这将强制执行 Nginx 日志轮转。检查 /var/log/nginx 目录以确保日志文件已按预期轮转。
现在,Nginx 日志文件将根据您在 logrotate 配置文件中设置的保留期限自动进行轮转和清理。