在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日志轮转。