centos

centos下如何配置php日志轮转

小樊
49
2025-06-18 07:31:19
栏目: 编程语言

在 CentOS 系统中,配置 PHP 日志轮转通常涉及两个主要部分:PHP-FPM 日志和 PHP 脚本生成的日志。以下是详细的配置步骤:

1. 配置 PHP-FPM 日志轮转

PHP-FPM 的日志通常位于 /var/log/php-fpm/ 目录下。你需要编辑 PHP-FPM 的配置文件来设置日志轮转。

步骤:

  1. 找到 PHP-FPM 配置文件: 通常是 /etc/php-fpm.d/www.conf/etc/php-fpm.conf

  2. 编辑配置文件: 打开配置文件并找到以下行:

    ;error_log = /var/log/php-fpm/error.log
    ;access.log = /var/log/php-fpm/access.log
    
  3. 启用日志记录: 去掉前面的分号(;)以启用日志记录:

    error_log = /var/log/php-fpm/error.log
    access.log = /var/log/php-fpm/access.log
    
  4. 配置日志轮转: 使用 logrotate 工具来管理日志文件。创建一个新的 logrotate 配置文件:

    sudo vi /etc/logrotate.d/php-fpm
    
  5. 添加以下内容

    /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: 创建新日志文件时的权限和所有者。

2. 配置 PHP 脚本生成的日志轮转

PHP 脚本生成的日志通常位于应用程序的日志目录中。你可以使用 logrotate 来管理这些日志。

步骤:

  1. 找到 PHP 脚本日志目录: 通常是 /var/www/html/logs/ 或其他自定义目录。

  2. 创建 logrotate 配置文件

    sudo vi /etc/logrotate.d/php-app-logs
    
  3. 添加以下内容

    /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: 创建新日志文件时的权限和所有者。

3. 测试配置

为了确保配置正确,你可以手动运行 logrotate 来测试:

sudo logrotate -f /etc/logrotate.conf

这将强制 logrotate 处理所有配置的日志文件,并应用新的轮转规则。

通过以上步骤,你应该能够在 CentOS 系统中成功配置 PHP 日志轮转。

0
看了该问题的人还看了