ubuntu

Ubuntu PHP-FPM如何进行日志轮转

小樊
46
2025-04-05 15:04:29
栏目: 编程语言

在 Ubuntu 系统中,PHP-FPM 的日志轮转通常是通过 logrotate 工具来实现的。logrotate 是一个用于管理日志文件的工具,可以自动压缩、删除和创建新的日志文件。要配置 PHP-FPM 日志轮转,请按照以下步骤操作:

  1. 确保 logrotate 已经安装在你的系统上。在大多数 Ubuntu 版本中,logrotate 已经预装了。如果没有安装,可以使用以下命令安装:
sudo apt-get update
sudo apt-get install logrotate
  1. 找到 PHP-FPM 的日志文件。默认情况下,它们通常位于 /var/log/php-fpm/ 目录下。你可以在 /etc/php/版本号/fpm/pool.d/www.conf 文件中找到日志文件的路径。例如:
access.log = /var/log/php-fpm/www-access.log
error.log = /var/log/php-fpm/www-error.log

这里的 版本号 是你安装的 PHP 版本,例如 7.4

  1. 创建一个新的 logrotate 配置文件。在 /etc/logrotate.d/ 目录下创建一个名为 php-fpm 的文件:
sudo nano /etc/logrotate.d/php-fpm
  1. 将以下内容粘贴到新创建的文件中,根据实际情况修改日志文件路径:
/var/log/php-fpm/*.log {
    daily
    missingok
    rotate 7
    compress
    notifempty
    create 640 root adm
    sharedscripts
    postrotate
        if [ -f /var/run/php-fpm.sock ]; then
            sudo kill -USR2 `cat /var/run/php-fpm.pid`
        fi
    endscript
}

这个配置表示每天轮转一次日志文件,保留最近 7 天的日志,压缩旧日志,仅在日志文件非空时进行轮转,创建具有适当权限的新日志文件,并在轮转后发送 USR2 信号给 PHP-FPM 进程以重新打开日志文件。

  1. 保存并关闭文件。

现在,logrotate 将根据配置自动轮转 PHP-FPM 日志文件。你可以使用以下命令手动触发日志轮转:

sudo logrotate -f /etc/logrotate.d/php-fpm

这将强制执行 PHP-FPM 日志轮转,即使尚未到达预定的轮转时间。

0
看了该问题的人还看了