如何在 Fedora 40 或 39 上為 PHP-FPM 設定 Nginx

將 Nginx 配置為在 Fedora 40 或 39 上與 PHP-FPM 配合使用對於設定能夠處理動態 PHP 內容的高效能伺服器至關重要。 Nginx 擅長有效率地提供靜態內容,而 PHP-FPM 則管理 PHP 進程,優化 P​​HP 腳本的執行。但預設情況下,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 應用程式更新。適當的維護將確保您的伺服器保持安全、高效,並能夠處理增加的流量和需求。

Joshua James
跟我來
Joshua James 的最新帖子 (看全部)

發佈留言