為虛擬主機調整 nginx 設定

默認 Apache web 伺服器與 nginx 協同運行。好處是 web 頁面載入更快且節約伺服器資源。若要瞭解預設情況下 Apache 如何與 nginx 協同工作,請參閱 Apache 與 nginx

您可以為任何網站更改 Apache 與 nginx 協同工作的預設方式。也就是說您可以:

  • 指定 nginx 是否作為 Apache 的代理伺服器,或作為處理存取網站的 HTTP 請求的獨立伺服器。
  • 指定哪類 web 內容(靜態或動態)應由哪個伺服器處理(如果您使用 nginx 作為代理伺服器)。

該設定能夠幫助優化負載高的 web 應用程式(帶有眾多動態內容,如 PHP 檔,或眾多靜態內容)的性能。

相應的 UI 選項可進入客戶面板中的 網站與域名 > <domain_name> > Apache 與 nginx 設定 頁面中進行更改。

注意:Nginx 相關設定只有在啟用了 nginx 的情況下才能存取。

下圖顯示了 Apache 與 nginx 聯合工作的所有可能的配置,並為每項設定提供了優缺點注釋。注意如果您單獨使用 nginx,則沒有請求可到達 Apache。

處理靜態內容

下表顯示了 Plesk 將會如何根據 nginx 配置處理 2KB GIF 影像檔請求的情況。

 

header

 

智慧靜態檔處理已啟用。

default

這是對性能和穩定性的優化配置。

請求傳遞給 Apache,只會返回一個檔位址。檔被找到後由 nginx 進行交付。

智慧靜態檔處理已關閉。

transparent

nginx 不做任何修改傳遞請求和回應,允許使用排除 nginx 相關問題的模式。

文件會被發送兩次:從 Apache 到 nginx 然後再從 nginx 到用戶端。這樣可能會對性能有一定影響,尤其是在交付大量檔時。

 

GIF 檔副檔名包括在 由 nginx 直接服務靜態檔 中。

static_by_nginx

該模式會提升交付靜態檔的性能。

注意因為請求永遠不會到達 Apache,所以它們不會通過 Apache 處理常式傳遞。這意味著,例如,重寫規則或 .htaccess 指令將不會被應用。

處理動態內容

下表顯示了 Plesk 將會如何根據 nginx 配置處理 PHP 檔請求的情況。

 

header

 

由 nginx 處理 PHP已關閉。

這是對性能和穩定性的優化配置。

請求會被傳遞到執行檔和返回結果的 Apache。

根據網站的主機設定,Apache 會使用以下處理常式:FastCGI、CGI、或 Apache 模組。您還可以為每個網站單獨選擇 PHP 版本。

由 nginx 處理 PHP已啟用。

php_nginx

nginx 本身會使用 PHP-FPM 處理常式執行檔。PHP-FPM 處理常式會提供高級的 FastCGI 功能,能夠提升 web 應用程式的性能,尤其是有很多使用者的應用程式。

注意因為請求永遠不會到達 Apache,所以它們不會通過 Apache 處理常式傳遞。這意味著某些 web 應用程式不會如預期一樣運行。將不會應用 Apache .htaccess 指令和覆寫規則。

 

重要說明:如要設定可用 由 nginx 處理 PHP,您應為 nginx 安裝 PHP-FPM 支援。欲瞭解安裝 PHP-FPM 支援的詳情,請參閱 PHP 處理常式

設定其它的 nginx 指令

若要為網站添加自訂 nginx 指令,請使用 其它的 nginx 指令 欄位。編輯該欄位時,請使用與 nginx.conf 相同的句法。例如,如果您想要通過 gzip 打包所有代理的請求,請添加行:

gzip_proxied any;

注意您的客戶無法查看和編輯 其它的 nginx 指令 欄位。