如何限制Nginx访问日志文件的大小和压缩?


18

我希望就如何在域的访问日志中设置截断和gzip压缩获得一些指导。我注意到默认情况下,核心nginx访问日志会被拆分和压缩,但是我的个人访问日志仍在继续增长。

这是可以设置并由Nginx处理的东西,还是管理它的核心日志的系统上的其他东西?


使用logrotate
迈克尔·汉普顿

Answers:


25

/etc/logrotate.d/nginx

/var/log/nginx/access_log {
    rotate 7
    size 5k
    dateext
    dateformat -%Y-%m-%d
    missingok
    compress
    sharedscripts
    postrotate
        test -r /var/run/nginx.pid && kill -USR1 `cat /var/run/nginx.pid`
    endscript
}

1
太棒了 Logrotate对我来说是新手。现在变得非常合理。谢谢!

man logrotate有关其他详细信息。
塞斯,

1
我必须执行以下操作才能使其从新配置开始:sudo logrotate -v -f /etc/logrotate.d/nginx
talsibony

实际轮换日志的命令是“ kill -USR1 / /var/run/nginx.pid”。这不会杀死Nginx进程,而是向它发送一个信号,使其重新加载其日志文件。这将导致新的请求记录到刷新的日志文件中。来源
Edson Horacio Junior

有人可以解释一下这些是什么以及它在做什么吗?
Esqarrouth
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.