溫馨提示×

如何設置 Nginx 日志輪轉以節省空間

小樊
114
2025-02-09 01:36:21
欄目: 云計算

要設置 Nginx 日志輪轉以節省空間,請按照以下步驟操作:

  1. 首先,確保已經安裝了 Nginx。如果尚未安裝,可以使用以下命令進行安裝(以 Ubuntu 為例):
sudo apt-get update
sudo apt-get install nginx
  1. 找到 Nginx 日志文件的位置。默認情況下,日志文件通常位于 /var/log/nginx/ 目錄下,其中 access.log 是訪問日志,error.log 是錯誤日志。

  2. 使用 logrotate 工具來管理日志輪轉。logrotate 是一個用于管理日志文件的系統工具,可以自動壓縮、移動、刪除和郵件通知日志文件。首先,創建一個新的 logrotate 配置文件,例如 /etc/logrotate.d/nginx

sudo touch /etc/logrotate.d/nginx
sudo nano /etc/logrotate.d/nginx
  1. 在新創建的配置文件中,添加以下內容:
/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
  • 保留最近 7 天的日志文件(rotate 7
  • 使用 gzip 壓縮舊的日志文件(compress
  • 不在日志文件創建后立即壓縮(delaycompress
  • 僅在日志文件非空時進行輪轉(notifempty
  • 以 0640 的權限創建日志文件,屬于 www-data 用戶和 adm 用戶(create 0640 www-data adm
  • 在日志輪轉后執行 postrotate 腳本,向 Nginx 發送 USR1 信號,通知其重新打開日志文件(sharedscriptspostrotate 塊)
  1. 保存并退出編輯器。

  2. 測試 logrotate 配置是否正確:

sudo logrotate -d /etc/logrotate.d/nginx

如果沒有錯誤,那么配置應該是正確的。

  1. 最后,確保 logrotate 服務在系統啟動時自動運行:
sudo systemctl enable logrotate
sudo systemctl start logrotate

現在,Nginx 日志文件將按照配置文件中的設置進行輪轉,從而節省磁盤空間。

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