在Ubuntu上配置PHP-FPM(FastCGI Process Manager)是一個常見的任務,用于提高Web應用程序的性能和安全性。以下是一些最佳實踐步驟:
首先,確保你的系統是最新的:
sudo apt update
sudo apt upgrade
然后,安裝PHP和PHP-FPM:
sudo apt install php-fpm php-mysql
編輯PHP-FPM的配置文件,通常位于/etc/php/版本/fpm/php.ini(例如/etc/php/7.4/fpm/php.ini)。以下是一些關鍵配置項:
pm.max_children:設置最大子進程數。pm.start_servers:設置啟動時的子進程數。pm.min_spare_servers:設置空閑子進程池的最小數量。pm.max_spare_servers:設置空閑子進程池的最大數量。request_terminate_timeout:設置請求的最大處理時間。編輯Nginx的默認站點配置文件,通常位于/etc/nginx/sites-available/default:
sudo vim /etc/nginx/sites-available/default
確保以下配置存在并正確:
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
}
然后,重啟Nginx以應用更改:
sudo systemctl restart nginx
ufw允許必要的HTTP端口。當你修改了PHP-FPM的配置文件后,需要重啟服務以使更改生效:
sudo systemctl restart php7.4-fpm
或者,你可以使用以下命令來平滑重啟PHP-FPM:
sudo systemctl reload php7.4-fpm
PHP-FPM支持三種進程管理策略:靜態、動態和按需。根據你的應用需求選擇合適的策略,并進行相應的配置。
對于生產環境,啟用并優化OpCache或其他字節碼緩存可以顯著提高PHP的執行速度。編輯php.ini文件,確保以下選項啟用:
opcache.enable=1
opcache.revalidate_freq=2
然后重啟PHP-FPM服務。
確保PHP-FPM在系統啟動時自動啟動:
sudo systemctl enable php7.4-fpm
遵循這些最佳實踐可以幫助你在Ubuntu上高效且安全地運行PHP-FPM。記得在修改任何配置之前備份現有文件,并在生產環境中進行充分的測試。