本文介紹如何在 debian 系統(tǒng)上配置 nginx 日志輪轉(zhuǎn),主要利用 logrotate 工具。
步驟一:安裝 logrotate
首先,確保系統(tǒng)已安裝 logrotate:
sudo apt-get update sudo apt-get install logrotate
步驟二:創(chuàng)建或編輯 Nginx logrotate 配置文件
在 /etc/logrotate.d/ 目錄下創(chuàng)建或編輯名為 nginx 的配置文件:
sudo nano /etc/logrotate.d/nginx
步驟三:添加配置文件內(nèi)容
將以下內(nèi)容添加到 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 }
參數(shù)說明:
- daily:每天輪轉(zhuǎn)日志。
- missingok:如果日志文件不存在,則忽略錯(cuò)誤。
- rotate 7:保留 7 個(gè)日志文件。
- compress:壓縮已輪轉(zhuǎn)的日志文件。
- delaycompress:延遲壓縮,直到下次輪轉(zhuǎn)。
- notifempty:如果日志文件為空,則不進(jìn)行輪轉(zhuǎn)。
- create 0640 www-data adm:創(chuàng)建新的日志文件,權(quán)限為 0640,所有者為 www-data,組為 adm。
- sharedscripts:多個(gè)日志文件共享同一個(gè) postrotate 腳本。
- postrotate … endscript:輪轉(zhuǎn)后執(zhí)行的腳本,發(fā)送 USR1 信號(hào)給 Nginx 進(jìn)程,使其重新打開日志文件。 注意,這里將 cat /var/run/nginx.pid 使用了命令替換 $(…),更安全。
步驟四:測(cè)試配置
使用以下命令測(cè)試配置:
sudo logrotate -d /etc/logrotate.d/nginx
-d 參數(shù)用于測(cè)試模式,不會(huì)實(shí)際執(zhí)行輪轉(zhuǎn)。 如有錯(cuò)誤,會(huì)顯示出來。
步驟五:驗(yàn)證定時(shí)任務(wù)
logrotate 通常由每日 cron 任務(wù)自動(dòng)運(yùn)行。您可以檢查 /etc/cron.daily/logrotate 文件以確認(rèn):
cat /etc/cron.daily/logrotate
如果該文件存在且包含正確的 logrotate 命令,則日志輪轉(zhuǎn)將每天自動(dòng)執(zhí)行。
完成以上步驟后,您的 Debian 系統(tǒng)上的 Nginx 日志將按照配置進(jìn)行輪轉(zhuǎn)。
? 版權(quán)聲明
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載。
THE END