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