溫馨提示×

Debian Nginx日志輪轉如何配置

小樊
52
2025-03-28 15:14:16
欄目: 智能運維

在Debian系統中,Nginx日志輪轉通常是通過logrotate工具來實現的。默認情況下,logrotate的配置文件位于/etc/logrotate.d/nginx。你可以根據需要編輯這個文件來自定義日志輪轉的行為。

以下是一個基本的logrotate配置示例,用于Nginx日志輪轉:

/var/log/nginx/*.log {
    daily
    missingok
    rotate 7
    compress
    notifempty
    create 0640 www-data adm
    sharedscripts
    postrotate
        if [ -f /var/run/nginx.pid ]; then
            kill -USR1 `cat /var/run/nginx.pid`
        fi
    endscript
}

這個配置的含義如下:

  1. /var/log/nginx/*.log:指定需要輪轉的日志文件路徑。
  2. daily:每天輪轉一次日志。
  3. missingok:如果日志文件不存在,不會產生錯誤。
  4. rotate 7:保留7個輪轉后的日志文件。
  5. compress:輪轉后的日志文件使用gzip壓縮。
  6. notifempty:如果日志文件為空,則不進行輪轉。
  7. create 0640 www-data adm:創建新的日志文件,權限為0640,屬主為www-data,屬組為adm。
  8. sharedscripts:如果有多個日志文件匹配,只執行一次postrotate腳本。
  9. postrotateendscript之間的部分:輪轉后執行的腳本。這里發送USR1信號給Nginx進程,通知它重新打開日志文件。

要應用這個配置,只需確保/etc/logrotate.d/nginx文件存在并包含上述內容。logrotate工具通常每天運行一次,可以通過cron任務來實現。在Debian系統中,logrotatecron任務通常位于/etc/cron.daily/logrotate。

如果你需要修改日志輪轉的行為,可以編輯/etc/logrotate.d/nginx文件。在修改配置后,logrotate會在下一次運行時應用新的配置。你也可以手動觸發logrotate來立即應用更改,使用以下命令:

sudo logrotate -f /etc/logrotate.conf

這將強制logrotate處理所有配置文件,包括/etc/logrotate.d/nginx。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女