在 CentOS 系统中,配置 PHP 日志轮转通常涉及两个主要部分:PHP-FPM 日志和 PHP 脚本生成的日志。以下是详细的配置步骤:
PHP-FPM 的日志通常位于 /var/log/php-fpm/
目录下。你需要编辑 PHP-FPM 的配置文件来设置日志轮转。
找到 PHP-FPM 配置文件:
通常是 /etc/php-fpm.d/www.conf
或 /etc/php-fpm.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
配置日志轮转:
使用 logrotate
工具来管理日志文件。创建一个新的 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
: 创建新日志文件时的权限和所有者。PHP 脚本生成的日志通常位于应用程序的日志目录中。你可以使用 logrotate
来管理这些日志。
找到 PHP 脚本日志目录:
通常是 /var/www/html/logs/
或其他自定义目录。
创建 logrotate
配置文件:
sudo vi /etc/logrotate.d/php-app-logs
添加以下内容:
/var/www/html/logs/*.log {
daily
missingok
rotate 7
compress
notifempty
create 640 root adm
}
解释:
daily
: 每天轮转一次日志。missingok
: 如果日志文件丢失,不会报错。rotate 7
: 保留7天的日志文件。compress
: 压缩旧日志文件。notifempty
: 如果日志文件为空,则不轮转。create 640 root adm
: 创建新日志文件时的权限和所有者。为了确保配置正确,你可以手动运行 logrotate
来测试:
sudo logrotate -f /etc/logrotate.conf
这将强制 logrotate
处理所有配置的日志文件,并应用新的轮转规则。
通过以上步骤,你应该能够在 CentOS 系统中成功配置 PHP 日志轮转。