為虛擬主機調整 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 指令 欄位。

 

 

Leave your feedback on this topic here

If you have questions or need support, please visit the Plesk forum or contact your hosting provider.
The comments below are for feedback on the documentation only. No timely answers or help will be provided.