[英]How to Configure logrotate of php5-fpm.log?
我在運行nginx和php5-fpm的ubuntu 12.04上的/etc/php5/fpm/php-fpm.conf
下啟用了error_log = /var/log/php5-fpm.log
。
但是我注意到php5-fpm.log沒有logrotate。 我試圖理解我從互聯網上找到的一些配置,但我不願意在我的生產服務器上測試它。
以下是我發現的一些配置:
/var/log/php5-fpm.log {
rotate 12
weekly
missingok
notifempty
compress
delaycompress
postrotate
invoke-rc.d php5-fpm reopen-logs > /dev/null
endscript
}
這是配置的鏈接 。 據我所知,我需要的是在/etc/logrotate.d/
下創建一個名為php5-fpm
的文件,所以它看起來像/etc/logrotate.d/php5-fpm
並帶有上面的代碼。
我還從此鏈接中找到了另一個示例,其中包含以下代碼:
/var/log/php5-fpm.log {
daily
missingok
rotate 52
compress
delaycompress
notifempty
create 640 root adm
sharedscripts
postrotate
[ ! -f /var/run/php5-fpm.pid ] || kill -USR1 `cat /var/run/php5-fpm.pid`
endscript
}
由於我是logrotate配置的新手,我想確保我要做的是正確的。
那么,這兩種配置中的哪一種是正確的? 第一個還是第二個? 我只在/etc/logrotate.d/php5-fpm
創建一個文件並將代碼放在那里是否正確?
對不起,如果這是一個新手問題,我就找不到如何做到這一點的完整說明。
只是為了通過谷歌來澄清其他人:
1)
invoke-rc.d php5-fpm reopen-logs > /dev/null
這是您的發行版必須支持的內容。 選項“重新打開,日志,” 不附帶由PHP源代碼包提供的默認初始化腳本。 所以你可能無法使用它。
2)
[ ! -f /var/run/php5-fpm.pid ] || kill -USR1 `cat /var/run/php5-fpm.pid`
這是正確的選項,也正式得到PHP-FPM的支持,請參閱: https : //github.com/php/php-src/blob/b7a7b1a624c97945c0aaa49d46ae996fc0bdb6bc/sapi/fpm/fpm/fpm_events.c#L94
你可以從源代碼中看到這個“信號”是額外用於對數轉換的,應該優於“USR2”,它只能用於重新加載配置。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.