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失敗後,暫停的時間