為虛擬主機調整 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 影像檔請求的情況。
智慧靜態檔處理 已啟用。 |
這是對性能和穩定性的優化配置。 請求傳遞給 Apache,只會返回一個檔位址。檔被找到後由 nginx 進行交付。 |
|
智慧靜態檔處理 已關閉。 |
nginx 不做任何修改傳遞請求和回應,允許使用排除 nginx 相關問題的模式。 文件會被發送兩次:從 Apache 到 nginx 然後再從 nginx 到用戶端。這樣可能會對性能有一定影響,尤其是在交付大量檔時。 |
|
GIF 檔副檔名包括在 由 nginx 直接服務靜態檔 中。 |
該模式會提升交付靜態檔的性能。 注意因為請求永遠不會到達 Apache,所以它們不會通過 Apache 處理常式傳遞。這意味著,例如,重寫規則或 |
處理動態內容
下表顯示了 Plesk 將會如何根據 nginx 配置處理 PHP 檔請求的情況。
由 nginx 處理 PHP 已關閉。 |
這是對性能和穩定性的優化配置。 請求會被傳遞到執行檔和返回結果的 Apache。 根據網站的主機設定,Apache 會使用以下處理常式:FastCGI、CGI、或 Apache 模組。您還可以為每個網站單獨選擇 PHP 版本。 |
|
由 nginx 處理 PHP 已啟用。 |
nginx 本身會使用 PHP-FPM 處理常式執行檔。PHP-FPM 處理常式會提供高級的 FastCGI 功能,能夠提升 web 應用程式的性能,尤其是有很多使用者的應用程式。 注意因為請求永遠不會到達 Apache,所以它們不會通過 Apache 處理常式傳遞。這意味著某些 web 應用程式不會如預期一樣運行。將不會應用 Apache |
備註: 如要設定可用 由 nginx 處理 PHP ,您應為 nginx 安裝 PHP-FPM 支援。欲瞭解安裝 PHP-FPM 支援的詳情,請參閱 PHP 處理常式 。
設定其它的 nginx 指令
若要為網站添加自訂 nginx 指令,請使用 其它的 nginx 指令 欄位。編輯該欄位時,請使用與 nginx.conf
相同的句法。例如,如果您想要通過 gzip 打包所有代理的請求,請添加行:
gzip_proxied any;
注意您的客戶無法查看和編輯 其它的 nginx 指令 欄位。