Nginx命令

  • nginx -s reopen 重啟nginx
  • nginx -s reload  重新載入nginx檔案
  • nginx -s stop  停止nginx服務
  • nginx -s quit 處理完請求後,停止nginx服務
  • nginx -q 檢測配置檔案期間遮蔽非錯誤資訊

Nginx配置

nginx-conf

  • 全域性塊,從配置檔案到events塊之間的內容,設定一些影響nginx伺服器整體執行的配置指令,主要包括配置執行nginx伺服器的使用者、允許生產的worker-process數、程序PID存放路徑、日誌存放路徑和型別以及配置檔案的引入。
  • events,涉及的指令主要影響Nginx伺服器與使用者的網路連線,包含是夠開啟對多work process下的網路連線進行序列化,是否允許同時接收多個網路連線,選取哪種事件驅動模型來處理連線請求,每個worker process可以同時支援的最大連線數
  • http,代理快取、日誌定義等絕大多數功能以及第三方模組

反向代理

  • server-name 配置基於名稱的虛擬主機
  • gzip 是否開啟壓縮傳輸
  • location 指令用於匹配url
  • proxy-pass 用於設定被代理伺服器的地址
  • proxy-set-header 用於設定被代理伺服器接收到的header資訊

負載均衡

  • 輪詢 根據nginx配置檔案中的順序,依次將客戶端的web請求分發到不同的後端服務
  • weight 根據權重
  • ip-hash 同一客戶端連續的web請求可能會被分發到不同的後端伺服器進行處理,如果涉及到會話session,會比較複雜,基於資料庫的會話持久化,ip-hash可以避免該問題
  • fair 根據響應時間來分配請求,響應時間短的優先分配
  • url-hash 使每一個url定向到同一個後端伺服器,後端伺服器為快取時比較有效

max-fails:允許請求失敗的次數,預設為1,超過最大次數時,返回proxy-next-upstream模組定義的錯誤

fail-timeout:max-fails失敗後,暫停的時間