在 Ubuntu 上,PHP-FPM 的日志管理主要包括两个方面:访问日志和错误日志。要管理这些日志,首先需要找到它们的位置。默认情况下,这些日志文件通常位于 /var/log/php-fpm/
目录中。
访问日志记录了 PHP-FPM 处理的所有请求。默认情况下,这个文件可能不存在,因为它是可选的。如果你在 php-fpm.conf
或 www.conf
文件中启用了访问日志,那么它将被创建。你可以在这些文件中找到以下设置:
access.format = "%R - %u %t \"%m %r\" %s %b"
access.log = /var/log/php-fpm/access.log
如果你想启用访问日志,确保取消注释这些行并设置正确的日志文件路径。
错误日志记录了 PHP-FPM 运行过程中遇到的所有错误。默认情况下,错误日志文件可能不存在,因为它是可选的。如果你在 php-fpm.conf
或 www.conf
文件中启用了错误日志,那么它将被创建。你可以在这些文件中找到以下设置:
catch_workers_output = yes
php_admin_value[error_log] = /var/log/php-fpm/error.log
php_admin_flag[log_errors] = on
如果你想启用错误日志,确保取消注释这些行并设置正确的日志文件路径。
为了避免日志文件变得过大,你可以使用 logrotate 工具来自动轮转日志。在 Ubuntu 上,logrotate 配置文件通常位于 /etc/logrotate.d/
目录中。你可以创建一个新的配置文件,例如 /etc/logrotate.d/php-fpm
,并添加以下内容:
/var/log/php-fpm/*.log {
daily
missingok
rotate 7
compress
notifempty
create 0640 www-data adm
}
这个配置表示每天轮转日志文件,保留最近 7 天的日志,压缩旧日志,仅在日志文件非空时轮转,并设置适当的文件权限和所有者。
在更改配置文件后,确保重启 PHP-FPM 服务以使更改生效:
sudo systemctl restart php-fpm
现在,你已经成功配置了 PHP-FPM 的日志管理。根据需要调整访问日志和错误日志的设置,并定期检查日志文件以监控 PHP-FPM 的运行状况。