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 設定
Apache 和 nginx 有些設定可以在域名層進行自訂。這些設定位於 網站與域名 > domain name > Apache 與 nginx 設定 。這些設定分成兩組:
-
通用 Apache 設定
-
「nginx 設定」
配置 MIME 類型
MIME 類型 會匹配檔副檔名和檔案類型以指令 web 瀏覽器如何處理某類檔。例如,下面的 MIME 類型
text/plain .txt
指令web 瀏覽器以純文字來處理所有的 .txt
文件。預設,已預配置大部分通用 MIME 類型。但是,如果因為您使用帶有非標準副檔名的檔,而導致web瀏覽器無法正確處理您的網站頁面時,則需要配置一個或多個自訂的 MIME 類型。
若要配置 MIME 類型,請如下操作:
- 進入 網站與域名 > Apache 與 nginx 設定 。
- 在 「MIME」 「類型」 下,選擇 「輸入自訂值」 按鈕。
- 輸入或刪除所需的 MIME 類型,點按 確定 。
配置 Apache 處理常式
Apache 處理常式會指令web 伺服器處理帶有特定副檔名的檔。例如,下面的處理常式
cgi-script .cgi
會指令 web 伺服器以 cgi 腳本來處理所有的 .cgi
文件。預設帶有通用副檔名的檔的處理常式已預先配置好。但是,如果您想要更改處理帶有某個副檔名的檔的處理常式,則需要配置一個或多個自訂處理常式。
若要配置自訂的處理常式,請如下操作:
- 進入 網站與域名 > Apache 與 nginx 設定 。
- 在 「處理常式」 下,選擇 「輸入自訂值」 按鈕。
- 輸入或刪除所需的處理常式,點按 確定 。
拒絕存取網站
您可以阻止某些訪客存取您的網站。您可拒絕下列各位址進行存取:
- 單個IP地址(例如,
192.168.1.110
) - IP地址的子網(例如,
127.0.0.1/8
) - 指定的主機名稱(例如,
example.com
) - 所有人(使用星號」
*
」)
被禁止的訪客嘗試存取您的網站時會收到 「403 Forbidden」 的錯誤資訊。
若要配置存取您的網站的許可權,請如下操作:
- 進入 網站與域名 > Apache 與 nginx 設定 。
- 在 「拒絕存取該網站」 下,選擇 「輸入自訂值」 按鈕。
- 輸入或刪除所需的 IP 位址、子網或主機名稱。
- 如果您阻止了一個子網,但是希望允許一個或多個屬於該子網的IP位址能夠存取您的網站,請將這些IP位址輸入到 「排除」 欄位。
- 點按 確定 。
配置索引檔
不管到訪您網站的訪客何時瀏覽一個URL是請求一個目錄而不是一個特定檔(例如,請求 www.example.com
或 www.example.com/example
而不是 www.example.com/index.html
),Apache 都會查找一個索引檔來顯示。默認 Apache 會查找下面的檔(按指定的順序):
index.html
index.cgi
index.pl
index.php
index.xhtml
index.htm
index.shtml
如果一個目錄中存在這所有七個檔,將會以 index.html
檔來服務瀏覽該目錄的訪客。如果 index.html
丟失,Apache 將會往下查找 index.cgi
文件,以此類推。如果未找到合適的索引檔,則預設顯示 「403 Forbidden」 錯誤。
Plesk允許自訂訪客瀏覽您網站上目錄時 Apache 所查找的索引檔:
- 您可以更改 Apache 所查找的索引檔的順序(例如,您想要預設顯示
index.php
檔而不是index.html
)。 - 您可以將索引檔案名稱添加到清單中,或移除它們(例如,如果您網站的預設頁面被命名為
hello.php
,您則可以讓 Apache 預設使用該檔來服務)。
若要配置索引檔,請如下操作:
- 進入 網站與域名 > Apache 與 nginx 設定 。
- 在 「索引檔」 下,選擇 「輸入自訂值」 按鈕。
- 按照Apache查找的順序輸入或刪除所需索引檔的名稱,然後點按 確定 。
配置」Expires」 頭
Apache expires
頭控制web瀏覽器可在多長時間內保留緩存的網頁內容。配置該標頭可降低伺服器負載並加快網站速度。
例如,您可設定到期時段為10 天。一個訪客存取您的網站,請求其 index.html
頁面。訪客的 web 瀏覽器會將該頁面副本保存在緩存裡,在接下來的10天內,每次訪客瀏覽您的網站時,都將以該緩存的頁面副本提供服務。第十一天時,如果請求該頁面,瀏覽器則將重新從伺服器請求該頁面,因為緩存的副本已過期。
為有動態內容的網站配置 expires
頭時,建議啟用 「僅對靜態檔回應 Expires 頭」 選項。否則,在到期前的有效期內包括動態內容在內的所有內容都將被存儲在瀏覽器的緩存中。不推薦這樣,因為動態內容會頻繁更新。
備註: 「Expires」 頭特性需要在 Apache 中啟用 mod_expires
。
若要配置 「Expires」 頭,請如下操作:
- 進入 網站與域名 > Apache 與 nginx 設定 。
- 在 「Expires」 下,選擇 「輸入自訂值」 按鈕。
- 指定所需的有效期(推薦有效期為 14 天)。
- 如果您的網站有動態內容,請確保勾選 「僅對靜態檔回應Expires頭」 核取方塊。
- 點按 確定 。
備註: 如果啟用了 nginx,只有 Apache 服務的檔將有 expires 頭。如果選擇了 「靜態檔智慧處理」 核取方塊,哪些檔會作為靜態檔來處理則有 Apache 和 nginx 的預設配置決定。如果選擇了 「由 nginx 直接服務靜態檔」 核取方塊,且指定了檔副檔名,nginx則只服務帶有指定副檔名的檔。
配置其它標頭
您可以根據下面的模式配置其它的 HTTP 回應頭:
名稱:值
HTTP回應頭包含有關請求頁面指令web瀏覽器執行各項操作的資訊。例如,下面的標頭將會保護到訪您網站的訪客免受 點按劫持 :
X-Frame-Options: DENY
若要配置其它的標頭,請如下操作:
- 進入 網站與域名 > Apache 與 nginx 設定 。
- 在 「其它標頭」 下,選擇 「輸入自訂值」 按鈕。
- 輸入或刪除所需的標頭,點按 確定 。
限制遵循符號連結
預設允許Apache遵循符號連結:如果您的網站不使用符號連結,我們建議您禁用該選項,因為會有一定安全風險。
若要禁止 Apache 遵循符號連結,請如下操作:
- 進入 網站與域名 > Apache 與 nginx 設定 。
- 勾選 「限制遵循符號連結」 核取方塊,點按 「確定」 。
僅使用Nginx的主機
在 Plesk for Linux上,您可以組合使用 nginx 和 PHP-FPM 來託管網站。在此情況下,網站請求將不會傳遞到 Apache 而只由 nginx 服務。僅使用 Nginx的主機是PHP網站的一個可靠選項,也非常適合主機靜態網站和應用伺服器。您可以配置某個網站在不停止或禁用Apache的情況下僅由 nginx 服務,且不影響使用 Apache 託管的網站。
備註: Plesk 服務(例如,Webmail)會繼續使用Apache 正常運行,不受切換到僅使用nginx的主機模式的影響。
若要為某個域名啟用/禁用僅使用 nginx 的主機模式,請如下操作:
- 轉到 網站與域名 > Apache 與Nginx 設定 。
- 在 「nginx」 「設定」 部分,請清空 「代理模式」 核取方塊。
- 按一下 應用 。
若要將某個域名恢復為 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服務所有靜態內容,請如下操作:
- 進入 網站與域名 > Apache 與nginx 設定 並向下滑動到」nginx 設定」 部分。
- 選擇 「代理模式」 和 「靜態檔智慧處理」 核取方塊。
- 請不要勾選 「由 nginx 直接服務靜態檔」 核取方塊。
- 點按 確定 。
備註: In this configuration, files with static content that are less than 1 KB is size are always served by Apache, not nginx.
通過nginx只服務帶有指定副檔名的檔
如果需要,可以只把帶有特定副檔名的檔歸為由 nginx 服務的靜態內容。而其它檔通常歸為由 Apache 服務的靜態內容。注意,在該方案下,對有指定副檔名的檔的請求永遠都不會到達 Apache。也就是說這些請求不會通過Apache 處理常式。也就是說,不會應用覆寫規則或 .htaccess
指令。
若只想通過nginx服務指定的靜態內容,請如下操作:
- 進入 網站與域名 > Apache 與nginx 設定 並向下滑動到」nginx 設定」 部分。
- 選擇 「代理模式」 和 「由 nginx 直接服務靜態檔」 核取方塊。
- 默認已經在 「由 nginx 直接服務靜態檔」 框內預先配置了某些靜態檔副檔名。必要時可以添加或移除副檔名。以空白或 「|」 字元隔開每個檔副檔名。
- 點按 確定 。
備註: 啟用 “由 nginx 直接服務靜態檔” 選項會自動禁用預設的 “靜態檔智慧處理” 模式(即使仍選定了該選項)。
備註: In this configuration, files with the specified extensions are always served by nginx, regardless of their size.
通過 Apache 服務所有靜態和動態內容
如果需要,可以禁用 nginx 而配置 Apache 服務所有靜態和動態內容。這樣在某些情況下很有幫助,例如用於 nginx 故障排除時。對於生產環境下的網站,我們不建議使用 Apache 來處理所有內容。
若想通過 Apache 服務所有靜態和動態內容,請如下操作
- 進入 網站與域名 > Apache 與nginx 設定 並向下滑動到」nginx 設定」 部分。
- 選擇 「代理模式」 核取方塊。
- Clear the 「Smart static files processing」 and 「Serve static files directly by nginx」 checkboxes.
- 點按 確定。