在Ubuntu系統上,PHP-FPM(FastCGI Process Manager)的連接數設置主要涉及以下幾個方面:
PHP-FPM進程管理器:
pm
:進程管理方式,可選值為dynamic
、static
或ondemand
。pm.max_children
:最大子進程數。pm.start_servers
:啟動時的服務器進程數。pm.min_spare_servers
:最小空閑服務器進程數。pm.max_spare_servers
:最大空閑服務器進程數。Nginx配置:
fastcgi_pass
:指定PHP-FPM的監聽地址和端口。fastcgi_connect_timeout
:連接超時時間。fastcgi_send_timeout
:發送超時時間。fastcgi_read_timeout
:讀取超時時間。通常,PHP-FPM的配置文件位于/etc/php/{version}/fpm/pool.d/www.conf
,其中{version}
是PHP的版本號(例如7.4
)。
sudo nano /etc/php/7.4/fpm/pool.d/www.conf
找到并修改以下參數:
; 設置進程管理方式為dynamic
pm = dynamic
; 最大子進程數
pm.max_children = 50
; 啟動時的服務器進程數
pm.start_servers = 5
; 最小空閑服務器進程數
pm.min_spare_servers = 5
; 最大空閑服務器進程數
pm.max_spare_servers = 35
通常,Nginx的配置文件位于/etc/nginx/sites-available/default
。
sudo nano /etc/nginx/sites-available/default
找到并修改以下部分:
server {
listen 80;
server_name your_domain.com;
root /var/www/html;
index index.php index.html index.htm;
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php7.4-fpm.sock; # 或者使用tcp連接:fastcgi_pass 127.0.0.1:9000;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
修改配置文件后,需要重啟PHP-FPM和Nginx服務以使更改生效。
sudo systemctl restart php7.4-fpm
sudo systemctl restart nginx
systemd-cgtop
或htop
等工具監控PHP-FPM的進程和資源使用情況。pm.max_children
和其他相關參數,以達到最佳性能。通過以上步驟,你可以在Ubuntu系統上配置PHP-FPM的連接數設置。