如何设置Debian Nginx日志轮转(轮转.如何设置.日志.Nginx.Debian...)

wufei123 发布于 2025-03-24 阅读(22)

如何设置debian nginx日志轮转

本文介绍如何在 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日志轮转的详细内容,更多请关注知识资源分享宝库其它相关文章!

标签:  轮转 如何设置 日志 

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。