在Ubuntu上調整PHP-FPM(FastCGI Process Manager)進程管理可以通過修改PHP-FPM的配置文件來實現。以下是詳細步驟:
PHP-FPM的配置文件通常位于/etc/php/{version}/fpm/pool.d/www.conf
,其中{version}
是你的PHP版本號。例如,如果你使用的是PHP 7.4,路徑可能是/etc/php/7.4/fpm/pool.d/www.conf
。
使用你喜歡的文本編輯器打開配置文件。例如,使用nano
編輯器:
sudo nano /etc/php/7.4/fpm/pool.d/www.conf
在www.conf
文件中,你可以調整以下參數來管理PHP-FPM進程:
pm
(進程管理模式)dynamic
:動態模式,根據負載自動調整進程數。static
:靜態模式,固定數量的進程。ondemand
:按需模式,只有在有請求時才啟動進程。默認情況下,Ubuntu使用dynamic
模式。如果你希望使用其他模式,可以修改這一行:
pm = dynamic
pm.max_children
例如,如果你有8GB內存,可以設置為:
pm.max_children = 50
pm.start_servers
例如:
pm.start_servers = 5
pm.min_spare_servers
例如:
pm.min_spare_servers = 5
pm.max_spare_servers
例如:
pm.max_spare_servers = 35
你還可以調整其他參數來優化PHP-FPM的性能,例如:
request_terminate_timeout
:請求超時時間,防止長時間運行的腳本占用資源。
request_terminate_timeout = 0
catch_workers_output
:是否捕獲工作進程的輸出日志。
catch_workers_output = yes
保存對配置文件的更改并退出編輯器。如果你使用的是nano
,可以按Ctrl+O
保存,然后按Ctrl+X
退出。
為了使更改生效,需要重啟PHP-FPM服務:
sudo systemctl restart php7.4-fpm
你可以通過查看PHP-FPM的狀態來驗證更改是否生效:
sudo systemctl status php7.4-fpm
或者查看日志文件:
sudo tail -f /var/log/php7.4-fpm.log
通過以上步驟,你應該能夠在Ubuntu上成功調整PHP-FPM的進程管理。根據你的具體需求和服務器資源,適當調整這些參數以獲得最佳性能。