在CentOS系统中,配置PHP日志轮转策略通常涉及编辑PHP-FPM(FastCGI Process Manager)的配置文件以及系统的日志轮转配置。以下是详细的步骤:
PHP-FPM的日志文件通常位于/var/log/php-fpm/目录下。你需要编辑PHP-FPM的主配置文件和池配置文件来设置日志轮转。
打开PHP-FPM主配置文件:
sudo vi /etc/php-fpm.d/www.conf
找到并修改以下参数:
; 设置日志文件的路径
error_log = /var/log/php-fpm/error.log
; 设置日志文件的轮转策略
catch_workers_output = yes
php_admin_value[error_log] = /var/log/php-fpm/error.log
php_admin_flag[log_errors] = on
保存并退出编辑器。
如果你使用的是多个PHP-FPM池,还需要编辑相应的池配置文件,例如/etc/php-fpm.d/your_pool.conf。
打开池配置文件:
sudo vi /etc/php-fpm.d/your_pool.conf
确保以下参数已正确设置:
; 设置日志文件的路径
error_log = /var/log/php-fpm/your_pool_error.log
; 设置日志文件的轮转策略
catch_workers_output = yes
php_admin_value[error_log] = /var/log/php-fpm/your_pool_error.log
php_admin_flag[log_errors] = on
保存并退出编辑器。
CentOS使用logrotate工具来管理日志文件的轮转。你需要编辑logrotate的配置文件来包含PHP-FPM的日志文件。
打开logrotate配置文件:
sudo vi /etc/logrotate.d/php-fpm
添加以下内容:
/var/log/php-fpm/*.log {
daily
missingok
rotate 7
compress
notifempty
create 640 root adm
}
解释:
daily: 每天轮转一次日志文件。missingok: 如果日志文件不存在,不会报错。rotate 7: 保留7个轮转后的日志文件。compress: 压缩轮转后的日志文件。notifempty: 如果日志文件为空,不进行轮转。create 640 root adm: 创建新的日志文件,权限为640,属主为root,属组为adm。保存并退出编辑器。
为了确保配置生效,你可以手动触发一次日志轮转:
sudo logrotate -f /etc/logrotate.d/php-fpm
检查日志文件是否按照预期进行了轮转。
通过以上步骤,你应该能够成功配置CentOS系统中PHP日志的轮转策略。