Apache 和 Nginx 設定

默認,Plesk 使用 Apache web 伺服器 (http://en.wikipedia.org/wiki/Apache_HTTP_Server) 向客戶提供網頁(如訪客用來存取您的網站的瀏覽器)。要獲得更好的性能,Apache 可輔以另一款 web 伺服器 - nginx。您還可以只使用nginx。

默認 web 伺服器設定 由伺服器管理員(主機提供商)指定。這些設定可確定 web 伺服器處理不同類型檔的方式、使用 SSL/TLS 的方式、日誌檔存儲的位置,等等。

但是,您(作為網站所有者)可以設定網站的 自訂 web 伺服器設定。例如,添加索引檔案類型,限制存取網站,等等。

注意: 如果您的主機訂閱提供相應的許可權時,您可以調整網站的 web 伺服器設定。

在本小節:

調整 Apache 和 Nginx 設定

配置 MIME 類型

配置 Apache 處理常式

拒絕存取網站

配置索引檔

配置"Expires" 頭

配置其它標頭

限制遵循符號連結

僅使用Nginx的主機

配置靜態檔處理方式

伺服器設定的預設值

 
調整 Apache 和 Nginx 設定

Apache 和 nginx 有些設定可以在域名層進行自訂。這些設定位於 網站與域名 > domain name > Apache 與 nginx 設定。這些設定分成兩組:

  • 通用 Apache 設定
  • nginx 設定

    apache

 
配置 MIME 類型

MIME 類型 會匹配檔副檔名和檔案類型以指令 web 瀏覽器如何處理某類檔。例如,下面的 MIME 類型

text/plain .txt

指令web 瀏覽器以純文字來處理所有的 .txt 文件。預設,已預配置大部分通用 MIME 類型。但是,如果因為您使用帶有非標準副檔名的檔,而導致web瀏覽器無法正確處理您的網站頁面時,則需要配置一個或多個自訂的 MIME 類型。

若要配置 MIME 類型,請如下操作:

  1. 進入 網站與域名 > Apache 與 nginx 設定
  2. MIME 類型下,選擇 輸入自訂值 按鈕。
  3. 輸入或刪除所需的 MIME 類型,點按 確定
 
配置 Apache 處理常式

Apache 處理常式會指令web 伺服器處理帶有特定副檔名的檔。例如,下面的處理常式

cgi-script .cgi

會指令 web 伺服器以 cgi 腳本來處理所有的 .cgi 文件。預設帶有通用副檔名的檔的處理常式已預先配置好。但是,如果您想要更改處理帶有某個副檔名的檔的處理常式,則需要配置一個或多個自訂處理常式。

若要配置自訂的處理常式,請如下操作:

  1. 進入 網站與域名 > Apache 與 nginx 設定
  2. 處理常式下,選擇 輸入自訂值 按鈕。
  3. 輸入或刪除所需的處理常式,點按 確定
 
拒絕存取網站

您可以阻止某些訪客存取您的網站。您可拒絕下列各位址進行存取:

  • 單個IP地址(例如,192.168.1.110
  • IP地址的子網(例如,127.0.0.1/8
  • 指定的主機名稱(例如,example.com
  • 所有人(使用星號"*")

被禁止的訪客嘗試存取您的網站時會收到 "403 Forbidden" 的錯誤資訊。

若要配置存取您的網站的許可權,請如下操作:

  1. 進入 網站與域名 > Apache 與 nginx 設定
  2. 拒絕存取該網站下,選擇 輸入自訂值 按鈕。
  3. 輸入或刪除所需的 IP 位址、子網或主機名稱。
  4. 如果您阻止了一個子網,但是希望允許一個或多個屬於該子網的IP位址能夠存取您的網站,請將這些IP位址輸入到排除 欄位。
  5. 點按 確定
 
配置索引檔

不管到訪您網站的訪客何時瀏覽一個URL是請求一個目錄而不是一個特定檔(例如,請求 www.example.com www.example.com/example 而不是 www.example.com/index.html),Apache 都會查找一個索引檔來顯示。默認 Apache 會查找下面的檔(按指定的順序):

  1. index.html
  2. index.cgi
  3. index.pl
  4. index.php
  5. index.xhtml
  6. index.htm
  7. index.shtml

如果一個目錄中存在這所有七個檔,將會以 index.html 檔來服務瀏覽該目錄的訪客。如果 index.html 丟失,Apache 將會往下查找 index.cgi 文件,以此類推。如果未找到合適的索引檔,則預設顯示 "403 Forbidden" 錯誤。

Plesk允許自訂訪客瀏覽您網站上目錄時 Apache 所查找的索引檔:

  • 您可以更改 Apache 所查找的索引檔的順序(例如,您想要預設顯示 index.php 檔而不是 index.html)。
  • 您可以將索引檔案名稱添加到清單中,或移除它們(例如,如果您網站的預設頁面被命名為 hello.php,您則可以讓 Apache 預設使用該檔來服務)。

若要配置索引檔,請如下操作:

  1. 進入 網站與域名 > Apache 與 nginx 設定
  2. 索引檔下,選擇 輸入自訂值 按鈕。
  3. 按照Apache查找的順序輸入或刪除所需索引檔的名稱,然後點按 確定
 
配置"Expires" 頭

Apache expires 頭控制web瀏覽器可在多長時間內保留緩存的網頁內容。配置該標頭可降低伺服器負載並加快網站速度。

例如,您可設定到期時段為10 天。一個訪客存取您的網站,請求其 index.html 頁面。訪客的 web 瀏覽器會將該頁面副本保存在緩存裡,在接下來的10天內,每次訪客瀏覽您的網站時,都將以該緩存的頁面副本提供服務。第十一天時,如果請求該頁面,瀏覽器則將重新從伺服器請求該頁面,因為緩存的副本已過期。

為有動態內容的網站配置 expires 頭時,建議啟用 僅對靜態檔回應 Expires 頭 選項。否則,在到期前的有效期內包括動態內容在內的所有內容都將被存儲在瀏覽器的緩存中。不推薦這樣,因為動態內容會頻繁更新。

注意: "Expires" 頭特性需要在 Apache 中啟用 mod_expires

若要配置 "Expires" 頭,請如下操作:

  1. 進入 網站與域名 > Apache 與 nginx 設定
  2. Expires下,選擇 輸入自訂值 按鈕。
  3. 指定所需的有效期(推薦有效期為 14 天)。
  4. 如果您的網站有動態內容,請確保勾選 僅對靜態檔回應Expires頭 核取方塊。
  5. 點按 確定

注意: 如果啟用了 nginx,只有 Apache 服務的檔將有 expires 頭。如果選擇了 靜態檔智慧處理 核取方塊,哪些檔會作為靜態檔來處理則有 Apache 和 nginx 的預設配置決定。如果選擇了 由 nginx 直接服務靜態檔 核取方塊,且指定了檔副檔名,nginx則只服務帶有指定副檔名的檔。

 
配置其它標頭

您可以根據下面的模式配置其它的 HTTP 回應頭:

名稱:值

HTTP回應頭包含有關請求頁面指令web瀏覽器執行各項操作的資訊。例如,下面的標頭將會保護到訪您網站的訪客免受點按劫持

X-Frame-Options: DENY

若要配置其它的標頭,請如下操作:

  1. 進入 網站與域名 > Apache 與 nginx 設定
  2. 其它標頭下,選擇 輸入自訂值 按鈕。
  3. 輸入或刪除所需的標頭,點按 確定
 
限制遵循符號連結

預設允許Apache遵循符號連結:如果您的網站不使用符號連結,我們建議您禁用該選項,因為會有一定安全風險。

若要禁止 Apache 遵循符號連結,請如下操作:

  1. 進入 網站與域名 > Apache 與 nginx 設定
  2. 勾選 限制遵循符號連結 核取方塊,點按 確定
 
僅使用Nginx的主機

在 Plesk for Linux上,您可以組合使用 nginx 和 PHP-FPM 來託管網站。在此情況下,網站請求將不會傳遞到 Apache 而只由 nginx 服務。僅使用 Nginx的主機是PHP網站的一個可靠選項,也非常適合主機靜態網站和應用伺服器。您可以配置某個網站在不停止或禁用Apache的情況下僅由 nginx 服務,且不影響使用 Apache 託管的網站。

注意: Plesk 服務(例如,Webmail)會繼續使用Apache 正常運行,不受切換到僅使用nginx的主機模式的影響。

若要為某個域名啟用/禁用僅使用 nginx 的主機模式,請如下操作:

  1. 轉到 網站與域名 > Apache 與Nginx 設定
  2. nginx 設定 部分,請清空 代理模式 核取方塊。
  3. 按一下 應用

若要將某個域名恢復為 Apache+nginx 主機形式,請勾選代理模式 核取方塊。

已知局限性

當您將某個域名切換為僅使用nginx的主機模式時,您可能面臨某些局限性:

  • 無法檔共用。
  • 不支援 SSI、Perl 和 Python。
  • 只能使用 "由 nginx 服務的 FPM 應用程式" PHP 處理常式。
 
配置靜態檔處理方式

默認在 Plesk for Linux伺服器上,nginx和Apache是一前一後協同工作的,Apache服務動態內容,nginx用作代理服務靜態內容。該方案會優化伺服器資源的利用率,且能夠讓Plesk 更快回應對託管網站的請求。Plesk 允許選擇處理網站靜態內容的方式。

通過nginx服務所有靜態內容

這是Plesk for Linux預設的處理方式。不管對靜態內容的請求何時進來,Apache只會指示相應的檔位址,而nginx會去查找並服務該請求。

若想通過nginx服務所有靜態內容,請如下操作:

  1. 進入 網站與域名 > Apache 與nginx 設定 並向下滑動到"nginx 設定" 部分。
  2. 選擇代理模式靜態檔智慧處理核取方塊。
  3. 請不要勾選 由 nginx 直接服務靜態檔 核取方塊。
  4. 點按 確定
通過nginx只服務帶有指定副檔名的檔

如果需要,可以只把帶有特定副檔名的檔歸為由 nginx 服務的靜態內容。而其它檔通常歸為由 Apache 服務的靜態內容。注意,在該方案下,對有指定副檔名的檔的請求永遠都不會到達 Apache。也就是說這些請求不會通過Apache 處理常式。也就是說,不會應用覆寫規則或 .htaccess 指令。

若只想通過nginx服務指定的靜態內容,請如下操作:

  1. 進入 網站與域名 > Apache 與nginx 設定 並向下滑動到"nginx 設定" 部分。
  2. 選擇 代理模式由 nginx 直接服務靜態檔 核取方塊。
  3. 默認已經在 由 nginx 直接服務靜態檔 框內預先配置了某些靜態檔副檔名。必要時可以添加或移除副檔名。以空白或 "|" 字元隔開每個檔副檔名。
  4. 點按 確定

注意: 啟用 “由 nginx 直接服務靜態檔” 選項會自動禁用預設的 “靜態檔智慧處理” 模式(即使仍選定了該選項)。

通過 Apache 服務所有靜態和動態內容

如果需要,可以禁用 nginx 而配置 Apache 服務所有靜態和動態內容。這樣在某些情況下很有幫助,例如用於 nginx 故障排除時。對於生產環境下的網站,我們不建議使用 Apache 來處理所有內容。

若想通過 Apache 服務所有靜態和動態內容,請如下操作

  1. 進入 網站與域名 > Apache 與nginx 設定 並向下滑動到"nginx 設定" 部分。
  2. 選擇 代理模式 核取方塊。
  3. 清空 靜態檔智慧處理 和由 nginx 直接服務靜態檔 核取方塊。
  4. 點按 確定。
 
伺服器設定的預設值

您可設定每個參數值,可輸入一個自訂值,或者保留 默認 值。後面一種情況下,Plesk 會使用由伺服器管理員(主機提供商)定義的 web 伺服器配置的預設值。

您的值會覆蓋預設值。唯一例外的是 拒絕存取網站 設定 - 預設配置的 IP 位址,以及您指定的 IP 地址,都將被應用到您的網站。在發生衝突時(例如,當您允許預設配置中拒絕的 IP 位址),Apache 會使用您的設定。

 

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.