在Ubuntu系統中,PHP-FPM(FastCGI Process Manager)是一個用于管理PHP進程池的軟件,它能夠接收和處理來自Web服務器(如Nginx)的請求。PHP-FPM的配置文件主要包含全局設置和進程池設置,以下是對Ubuntu系統中PHP-FPM配置文件的詳細解讀:
/etc/php/{version}/fpm/php-fpm.conf
,其中 {version}
應該替換為你當前安裝的PHP版本號。/etc/php/{version}/fpm/pool.d/www.conf
。全局配置:
emergency_restart_threshold
:在指定時間內,如果失效的PHP-FPM子進程數超過這個值,PHP-FPM主進程會優雅重啟。emergency_restart_interval
:設定emergency_restart_threshold
采用的時間跨度。進程池配置:
user
和 group
:設置PHP-FPM進程的運行用戶和用戶組。listen
:指定PHP-FPM進程監聽的IP地址和端口號。pm.max_children
:設定任何時間點PHP-FPM進程池中最多能有多少個進程。pm.start_servers
:PHP-FPM啟動時PHP-FPM進程池立即可用的進程數。pm.min_spare_servers
和 pm.max_spare_servers
:分別設定PHP應用空閑時PHP-FPM進程池中可以存在的進程數量最小值和最大值。性能優化選項:
日志記錄:
error_log
:指定PHP-FPM錯誤日志的文件路徑。log_level
:設置錯誤日志的詳細程度。其他配置:
listen.allowed_clients
:可以向這個PHP-FPM進程池發送請求的IP地址。以下是一個簡單的www.conf
文件示例:
[www]
user = www-data
group = www-data
listen = 127.0.0.1:9000
pm = dynamic
pm.max_children = 15
pm.start_servers = 3
pm.min_spare_servers = 2
pm.max_spare_servers = 4