在 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 的運行狀況。