配置 Nginx 網頁伺服器
ServBay 提供簡便的方式管理並設定內建的 Nginx 網頁伺服器軟體套件。透過 ServBay 直觀的圖形介面,您可輕鬆調整 Nginx 的核心設置,以符合不同本機開發專案的需求。
存取 Nginx 設定
- 開啟 ServBay 應用程式。
- 在左側導覽列中,點擊
Web 伺服器
。 - 選擇
Nginx
分頁。
您將看到 Nginx 的設定介面,如下圖所示:
主要設定說明
下方為 Nginx 設定介面中各項參數的詳細說明:
基本網路設置
- HTTP Port: Nginx 監聽的 HTTP 協定連接埠,預設為
80
。 - HTTPS Port: Nginx 監聽的 HTTPS 協定連接埠,預設為
443
。 - Worker Connections: 每個 Nginx 工作行程 (worker process) 允許同時建立的最大連線數。此數值會影響 Nginx 的高併發處理能力。
10240
屬於較高設定,適合高併發情境。
效能與限制
- Client Max Body Size: 允許客戶端請求的最大主體(Body)大小。例如,可用來限制上傳檔案的大小。
2048m
表示允許最大 2GB 的請求體。 - KeepAlive Timeout: 客戶端與伺服器間 Keep-Alive 連線維持活躍的逾時秒數。
65
秒代表若在此期間未收到客戶端新請求,伺服器即會關閉連線。 - TCP Nodelay: 開啟或關閉
TCP_NODELAY
選項。啟用(On)會降低小型數據封包的延遲,建議在高延遲網路或對即時互動需求高的應用下啟用。
HTTP 協定版本
- HTTP/2: 啟用或停用 HTTP/2 協定支援。HTTP/2 透過多路複用、標頭壓縮等技術提升效能。建議啟用。
- HTTP/3: 啟用或停用 HTTP/3(QUIC)協定。HTTP/3 是次世代網際網路協定,基於 UDP,進一步提升效能與穩定性。如您的 ServBay 版本支援,可依需求開啟。
FastCGI 設定(用於 PHP 等後端處理)
- FastCGI Connect Timeout: Nginx 等待與 FastCGI 伺服器(如 PHP-FPM)建立連線的逾時秒數。
- FastCGI Send Timeout: Nginx 傳送請求至 FastCGI 伺服器的逾時秒數。
- FastCGI Read Timeout: Nginx 等待從 FastCGI 伺服器接收回應的逾時秒數。
這些逾時值對於處理執行時間較長的 PHP 腳本特別重要,需依實際應用調整,避免請求過早中斷。
Gzip 壓縮
- Gzip: 開啟或停用 Gzip 壓縮。啟用後,Nginx 會在回應傳送至客戶端前先壓縮數據,減少傳輸量,加快頁面讀取速度。強烈建議啟用。
- Gzip Comp Level: Gzip 壓縮等級,範圍由
1
(最快,壓縮率最低)到9
(最慢,壓縮率最高)。1
或2
通常可達到速度與壓縮率的良好平衡。 - Gzip Types: 指定需進行 Gzip 壓縮的內容型別(MIME types)。預設包含常用的文字、CSS、JavaScript、XML 及 RSS 類型。可依需求新增或刪減型別。
SSL/TLS 設定(用於 HTTPS)
- SSL Protocols: 指定允許使用的 SSL/TLS 協定版本。
TLSv1.2 TLSv1.3
為現行建議的安全組合,禁用過舊不安全的協定(如 SSLv3、TLSv1.0、TLSv1.1)。 - SSL Prefer Server Ciphers: 啟用(On)代表 SSL/TLS 握手時,伺服器會優先採用自身支援的加密套件清單,而非客戶端清單。建議啟用以確保強加密。
- SSL Ciphers: 設定伺服器允許的加密套件組合。採用現代且安全的加密組合對 HTTPS 安全十分重要。ServBay 提供經過最佳化的預設清單。
其他設定
- Server Tokens: 控制 Nginx 在錯誤頁以及
Server
回應標頭中顯示的版本資訊。On
會顯示確切 Nginx 版本號,Off
僅顯示nginx
,通常視為更安全的選擇。 - Index: 設定當請求 URL 指向目錄時,Nginx 順序查找的預設索引檔名稱清單。例如
index.html index.htm index.php
,Nginx 會先尋找index.html
,若不存在則繼續尋找下一個,依序進行。
儲存與還原
- Reset: 點擊此按鈕可將所有 Nginx 設定恢復為 ServBay 預設值。
- Save: 點擊此按鈕會儲存您對 Nginx 設定的所有更動。儲存後,ServBay 通常會自動套用這些更動。若 Nginx 服務已運行,可能會需要短暫重啟以使更動生效。
重要說明
- 此處調整的是 Nginx 的全域設定(
nginx.conf
中的http
區塊內容)。針對特定網站(Server Block/虛擬主機)的設定(如server_name
、root
、location
規則等),通常會在新增或編輯「網站」時分別設定。 - 若在設定介面底部看到 "Service Nginx is not enabled" 的訊息,代表 Nginx 服務目前未啟動。您仍可進行設定與儲存,但這些更動僅於下次啟動 Nginx 服務後才會生效。您可自 ServBay 主畫面或透過
套件
(Packages)選單啟動 Nginx。
總結
ServBay 簡化了 Nginx 網頁伺服器的設定流程,讓開發人員可透過易用介面輕鬆調整重要參數。理解並妥善設定這些選項,能夠優化 Nginx 的效能、安全性與功能,從而更好地支援您的本機 Web 開發作業流程。