在Ubuntu系統上,PHP日志輪轉通常是通過logrotate
工具來實現的。logrotate
是一個用于管理日志文件的實用程序,它可以自動壓縮、刪除和輪轉日志文件。要配置PHP日志輪轉,請按照以下步驟操作:
確保logrotate
已安裝:
在Ubuntu上,logrotate
通常已經預裝。如果沒有,可以使用以下命令安裝:
sudo apt-get update
sudo apt-get install logrotate
創建或編輯logrotate
配置文件:
在/etc/logrotate.d
目錄下,創建一個名為php-fpm
的新文件,或者編輯現有的文件(例如/etc/logrotate.d/php7.x-fpm
,其中x
是PHP版本號)。
sudo nano /etc/logrotate.d/php-fpm
添加以下配置:
/var/log/php-fpm/*.log {
daily
missingok
rotate 7
compress
notifempty
create 0640 www-data adm
sharedscripts
postrotate
if [ -f /var/run/php-fpm/php-fpm.pid ]; then
sudo kill -USR2 `cat /var/run/php-fpm/php-fpm.pid`
fi
endscript
}
這里的配置表示:
postrotate
腳本用于通知PHP-FPM重新打開日志文件,以便新的日志文件開始記錄。這里使用kill -USR2
命令發送USR2信號給PHP-FPM主進程。
保存并退出編輯器。
現在,logrotate
將按照配置的規則自動輪轉PHP日志文件。你可以使用以下命令手動觸發日志輪轉:
sudo logrotate -f /etc/logrotate.d/php-fpm
這將強制執行日志輪轉,即使尚未到達預定的輪轉時間。