在 Ubuntu 系统中,PHP-FPM 的日志轮转通常是通过 logrotate 工具来实现的。logrotate 是一个用于管理日志文件的工具,可以自动压缩、删除和创建新的日志文件。要配置 PHP-FPM 日志轮转,请按照以下步骤操作:
sudo apt-get update
sudo apt-get install logrotate
/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
。
/etc/logrotate.d/
目录下创建一个名为 php-fpm
的文件:sudo nano /etc/logrotate.d/php-fpm
/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 进程以重新打开日志文件。
现在,logrotate 将根据配置自动轮转 PHP-FPM 日志文件。你可以使用以下命令手动触发日志轮转:
sudo logrotate -f /etc/logrotate.d/php-fpm
这将强制执行 PHP-FPM 日志轮转,即使尚未到达预定的轮转时间。