將 Nginx 配置為在 Fedora 40 或 39 上與 PHP-FPM 配合使用對於設定能夠處理動態 PHP 內容的高效能伺服器至關重要。 Nginx 擅長有效率地提供靜態內容,而 PHP-FPM 則管理 PHP 進程,優化 PHP 腳本的執行。但預設情況下,PHP-FPM 服務運行在「apache」用戶下,與 Nginx 不相容。因此,有必要調整PHP-FPM配置以確保其與Nginx正常運作。
本指南將引導您完成設定 Nginx 以便在 Fedora 40 或 39 上與 PHP-FPM 無縫協作的步驟,包括對 PHP-FPM 配置進行必要的調整。在本指南結束時,您的伺服器將準備好有效地為基於 PHP 的網站提供服務。
開啟 www.conf 設定文件
首先,使用以下命令開啟設定檔(www.conf):
sudo nano /etc/php-fpm.d/www.conf
開啟設定檔並將 (Apache) 使用者和群組替換為 (Nginx) 使用者和群組,如下圖所示:
如上所示,找到包含“apache”的“用戶”和“群組”,現在將其更改為“nginx”,如下所示:
按 (CTRL+O) 儲存,然後按 (CTRL+X) 退出。
進行必要的調整,然後重新啟動 PHP-FPM 服務。
sudo systemctl restart php-fpm
Nginx PHP-FPM 伺服器區塊程式碼範例
若要使用 Nginx 處理 PHP 文件,您必須設定伺服器區塊,如下例所示。將此範例用於管理 PHP 檔案的所有伺服器區塊,並確保包含「location ~ .php$」。在配置中。
僅範例:
location ~ \.php$ {
try_files $uri =404;
fastcgi_pass unix:/run/php-fpm/www.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
要驗證對先前程式碼所做的變更沒有導致任何錯誤,可以使用以下命令來測試 Nginx 設定。
sudo nginx -t
輸出範例:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
若要完成 PHP-FPM 設置,請重新啟動 Nginx 服務。
sudo systemctl restart nginx
結論
透過將 Nginx 設定為與 Fedora 上的 PHP-FPM 搭配使用,您創建了一個高效且可擴展的 Web 伺服器環境,能夠精確處理動態內容。調整 PHP-FPM 配置以在適當的使用者下運行是確保與 Nginx 的兼容性和安全性的關鍵步驟。若要維護此設置,請定期監控伺服器效能並根據需要對 Nginx 和 PHP-FPM 應用程式更新。適當的維護將確保您的伺服器保持安全、高效,並能夠處理增加的流量和需求。