Nginx Logrotate:日志归档配置详细说明以及案例
Nginx Logrotate 配置用于自动轮转、压缩和删除旧的 Nginx 日志文件,以防止日志文件过大占用磁盘空间。以下是一个详细的配置说明和案例。
1. 创建 Logrotate 配置文件
通常,Nginx 的 Logrotate 配置文件位于 /etc/logrotate.d/nginx
。
2. 配置文件内容
以下是一个典型的 Nginx Logrotate 配置文件示例:
/var/log/nginx/*.log { daily missingok rotate 14 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 }
3. 配置项说明
daily: 日志文件每天轮转一次。
missingok: 如果日志文件不存在,不报错。
rotate 14: 保留最近 14 天的日志文件。
compress: 轮转后的日志文件使用 gzip 压缩。
delaycompress: 延迟压缩,即下一次轮转时才压缩上一次的日志文件。
notifempty: 如果日志文件为空,不进行轮转。
create 0640 www-data adm: 创建新的日志文件时,设置权限为 0640,所有者为
www-data
,组为adm
。sharedscripts: 在所有日志文件轮转完成后,执行一次
postrotate
脚本。postrotate/endscript: 在日志轮转后执行的脚本。这里使用
kill -USR1
通知 Nginx 重新打开日志文件。
4. 手动测试 Logrotate 配置
可以使用以下命令手动测试 Logrotate 配置是否正确:
logrotate -d /etc/logrotate.d/nginx
5. 强制运行 Logrotate
如果需要立即执行日志轮转,可以使用以下命令:
logrotate -f /etc/logrotate.d/nginx
6. 日志轮转后的文件
轮转后的日志文件会被重命名为 access.log.1
、access.log.2.gz
等,旧的日志文件会被压缩并保留指定天数。
通过以上配置,Nginx 的日志文件将自动轮转、压缩和删除,确保日志文件不会无限增长。
本篇文章内容来源于:Nginx Logrotate:日志归档配置详细说明以及案例
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。