本文介绍如何在 Debian 系统上配置 Nginx 日志轮转,主要利用 logrotate 工具。
步骤一:安装 logrotate
首先,确保系统已安装 logrotate:
sudo apt-get update sudo apt-get install logrotate
步骤二:创建或编辑 Nginx logrotate 配置文件
在 /etc/logrotate.d/ 目录下创建或编辑名为 nginx 的配置文件:
sudo nano /etc/logrotate.d/nginx
步骤三:添加配置文件内容
将以下内容添加到 nginx 文件中:
/var/log/nginx/*.log { daily missingok rotate 7 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:如果日志文件不存在,则忽略错误。
- rotate 7:保留 7 个日志文件。
- compress:压缩已轮转的日志文件。
- delaycompress:延迟压缩,直到下次轮转。
- notifempty:如果日志文件为空,则不进行轮转。
- create 0640 www-data adm:创建新的日志文件,权限为 0640,所有者为 www-data,组为 adm。
- sharedscripts:多个日志文件共享同一个 postrotate 脚本。
- postrotate ... endscript:轮转后执行的脚本,发送 USR1 信号给 Nginx 进程,使其重新打开日志文件。 注意,这里将 cat /var/run/nginx.pid 使用了命令替换 $(...),更安全。
步骤四:测试配置
使用以下命令测试配置:
sudo logrotate -d /etc/logrotate.d/nginx
-d 参数用于测试模式,不会实际执行轮转。 如有错误,会显示出来。
步骤五:验证定时任务
logrotate 通常由每日 cron 任务自动运行。您可以检查 /etc/cron.daily/logrotate 文件以确认:
cat /etc/cron.daily/logrotate
如果该文件存在且包含正确的 logrotate 命令,则日志轮转将每天自动执行。
完成以上步骤后,您的 Debian 系统上的 Nginx 日志将按照配置进行轮转。
以上就是如何设置Debian Nginx日志轮转的详细内容,更多请关注知识资源分享宝库其它相关文章!
发表评论:
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。