要調整Ubuntu上的PHP-FPM進程管理,可以按照以下步驟進行:
首先,打開PHP-FPM的主要配置文件。配置文件通常位于 /etc/php/{version}/fpm/php-fpm.conf
,其中 {version}
需要替換為你所安裝的PHP版本號,例如 7.4
或 8.0
。
sudo nano /etc/php/{version}/fpm/php-fpm.conf
在配置文件中,可以調整以下關鍵參數來管理PHP-FPM進程:
pm.max_children
:指定每個進程池中允許的最大子進程數量。pm.start_servers
:指定啟動時將創建的子進程數量。pm.min_spare_servers
:指定空閑狀態下保持的最小子進程數量。pm.max_spare_servers
:指定空閑狀態下保持的最大子進程數量。pm.process_idle_timeout
:設置空閑進程在終止前等待的時間(秒)。listen
:指定PHP-FPM監聽的地址和端口,可以是Unix套接字或TCP端口。例如,要增加最大子進程數并設置監聽Unix套接字,可以修改如下配置:
pm.max_children = 50
listen = unix:/var/run/php/{version}-fpm.sock
在支持systemd的Linux系統上,可以使用systemd進行PHP-FPM進程守護,以確保進程的穩定運行。
編輯PHP-FPM的systemd配置文件:
sudo vi /etc/systemd/system/php{version}-fpm.service
在該文件中,添加或修改以下內容:
[Unit]
Description=PHP FastCGI Process Manager
After=network.target
[Service]
ExecStart=/usr/sbin/php-fpm --nodaemonize --fpm-config /etc/php/{version}/fpm/php-fpm.conf
[Install]
WantedBy=multi-user.target
啟動PHP-FPM服務:
sudo systemctl start php{version}-fpm
設置PHP-FPM服務開機自啟動:
sudo systemctl enable php{version}-fpm
完成配置后,需要重新啟動PHP-FPM服務以使更改生效:
sudo systemctl restart php{version}-fpm
可以使用以下命令檢查PHP-FPM服務的狀態:
sudo systemctl status php{version}-fpm
如果一切正常,你應該會看到PHP-FPM服務正在運行的狀態信息。
確保你的Web服務器(如Nginx或Apache)已配置為使用PHP-FPM。例如,對于Nginx,可以在配置文件中添加以下內容:
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/{version}-fpm.sock;
}
對于Apache,可以在配置文件中添加以下內容:
<FilesMatch \.php$>
SetHandler "proxy:unix:/var/run/php/{version}-fpm.sock|fcgi://localhost"
</FilesMatch>
完成以上步驟后,PHP-FPM應該已經成功配置并可以使用了。