在CentOS系統中,配置PHP日志輪轉通常涉及編輯PHP-FPM的配置文件以及系統的日志輪轉配置。以下是詳細的步驟:
PHP-FPM(FastCGI Process Manager)通常用于處理PHP請求。你需要編輯PHP-FPM的配置文件來設置日志輪轉。
找到PHP-FPM配置文件:
通常位于 /etc/php-fpm.d/www.conf 或 /etc/php-fpm.conf。
sudo vi /etc/php-fpm.d/www.conf
設置日志文件路徑和輪轉參數: 找到以下行并進行修改:
;error_log = /var/log/php-fpm/error.log
;access.log = /var/log/php-fpm/access.log
修改為:
error_log = /var/log/php-fpm/error.log
access.log = /var/log/php-fpm/access.log
配置日志輪轉:
編輯 /etc/logrotate.d/php-fpm 文件:
sudo vi /etc/logrotate.d/php-fpm
添加或修改以下內容:
/var/log/php-fpm/*.log {
daily
missingok
rotate 7
compress
notifempty
create 0640 root adm
}
解釋:
daily: 每天輪轉一次日志。missingok: 如果日志文件丟失,不會報錯。rotate 7: 保留7天的日志文件。compress: 壓縮舊日志文件。notifempty: 如果日志文件為空,不進行輪轉。create 0640 root adm: 創建新日志文件,權限為0640,屬主為root,屬組為adm。如果你使用的是系統自帶的PHP日志(例如通過Apache或Nginx處理的PHP請求),你需要配置系統的日志輪轉。
編輯Apache配置文件:
通常位于 /etc/httpd/conf/httpd.conf 或 /etc/apache2/apache2.conf。
sudo vi /etc/httpd/conf/httpd.conf
設置日志文件路徑: 找到以下行并進行修改:
ErrorLog "/var/log/httpd/error_log"
CustomLog "/var/log/httpd/access_log" combined
配置日志輪轉:
編輯 /etc/logrotate.d/httpd 文件:
sudo vi /etc/logrotate.d/httpd
添加或修改以下內容:
/var/log/httpd/*.log {
daily
missingok
rotate 7
compress
notifempty
create 0640 root adm
}
編輯Nginx配置文件:
通常位于 /etc/nginx/nginx.conf 或 /etc/nginx/conf.d/default.conf。
sudo vi /etc/nginx/nginx.conf
設置日志文件路徑: 找到以下行并進行修改:
error_log /var/log/nginx/error.log;
access_log /var/log/nginx/access.log;
配置日志輪轉:
編輯 /etc/logrotate.d/nginx 文件:
sudo vi /etc/logrotate.d/nginx
添加或修改以下內容:
/var/log/nginx/*.log {
daily
missingok
rotate 7
compress
notifempty
create 0640 root adm
}
完成上述配置后,你可以手動測試日志輪轉是否正常工作:
sudo logrotate -f /etc/logrotate.d/php-fpm
sudo logrotate -f /etc/logrotate.d/httpd # 或 nginx
如果一切正常,你應該會看到日志文件被輪轉和壓縮。
通過以上步驟,你可以在CentOS系統中成功配置PHP日志輪轉。