Nginx設置

設置

此設置與區域的Nginx設置基本一致,差別為此處為全局設定,而區域Nginx設置僅針對該區域。有關Nginx的說明可參考 http://nginx.org/en/docs/

Nginx設置

  • 系統管理 -> Nginx 設置

Worker

  • Worker

    • worker_connections : 設定單一worker進程允許同時處理的最大連線數

    • resolver : 設定nginx解析網域名稱時使用的dns伺服器,當來源伺服器為網域名稱時會用到

    • worker_rlimit_nofile : 設定worker程序的最大檔案開啟數

    • worker_processes : worker的進程數,默認auto

    • resolver_timeout : 解析超時的時間

    • worker_shutdown_timeout : 平滑關閉worker進程的逾時時間。當重載nginx時,如果worker在處理連接,master不會馬上關閉worker進程,而是要等到此設定的時間,逾時後會強制關閉

HTTP

  • Http

    • gzip

      • gzip_http_version : 壓縮響應體要求最小的http版本

      • gzip_min_length : 壓縮響應體要求最小的長度,長度只參考Content-Length響應頭

      • gzip_vary : 開啟時 Response Headers回應Vary: Accept-Encoding

    • Proxy

      • proxy_buffering : 開啟時,nginx將緩衝上游伺服器回應的內容,直到達到proxy_buffer_size設定的值才傳回客戶端,關閉時,nginx將不緩衝內容直接傳回客戶端。

      • proxy_http_version : 回源所使用的http版本,推荐使用1.1版本,并配合upstream的keepalive使用

      • proxy_max_temp_file_size : 設定最大暫存檔案大小,此值將會影響上傳檔案的大小

      • proxy_next_upstream : 當出現此參數指定的錯誤時,請嘗試連接下一個來源。

      • proxy_connect_timeout : 連線來源伺服器逾時時間,默認60s

      • proxy_read_timeout : 設定兩個連續的read請求最大間隔時間,如果逾時,將關閉連接

      • proxy_cache_max(MB) : 設定總快取內容的最大大小

      • proxy_buffers : 用來控制代理伺服器如何在內部緩衝從上游伺服器接收到的響應數據

      • proxy_buffer_size:指定接收上游伺服器響應頭時使用的緩衝區大小

      • proxy_busy_buffers_size:定義當 Nginx 正在向客戶端傳輸數據時,可同時保持忙碌的緩衝區大小

      • proxy_send_timeout : 設定 Nginx 向源站傳送請求時的超時時間。如果在這段時間內未能完成請求數據的傳輸,Nginx 會放棄該請求

    • Others

      • server : 設定Response Headers裡 server的值

      • client_max_body_size : 設定客戶端Request headers的最大大小,伺服器將會檢查Content-Length請求頭的值。如果設定為0,將會關閉檢查,默認10m

      • log_not_found:設定開啟或關閉當文件不存在時是否寫紀錄至 error_log

      • server_names_hash_max_size : 設定儲存伺服器名稱最大位元組

      • server_tokens:設定開啟或關閉在錯誤頁面的Response headers中顯示Nginx版本

      • large_client_header_buffers:設定快取讀取使用者Request headers最大大小

      • keepalive_timeout : keepalive保持的最大時間,超時將關閉連接

      • keepalive_requests : 設定keepalive的請求數,超過請求數後,將會關閉連線

      • TLS版本支援:設定節點能夠支援的TLS版本

      • 域名未配置時的回應:可勾選Drop或回應http code 903

      • tcp_nopush:開啟此功能時,Kernel 會將小型封包進行聚合,直到數據滿足一個數據塊的大小(例如 MTU),適合靜態文件下載、大數據量傳輸等高效傳輸場景。

      • tcp_nodelay:開啟此功能時,禁用 Nagle's Algorithm,確保小型封包立即發送,而不等待緩衝區填滿或收到 ACK,適合即時通信、服務器等需要低延遲的場景。

Stream

  • Stream

    • proxy_connect_timeout:定義與源站建立連線的逾時時間

    • proxy_timeout:定義讀取源站回應的逾時時間

Nginx自定義設置

  • 自定義Nginx,一般情況可不用特別設置

Last updated