Nginx中ngx_http_upstream_module模塊


用於將多個服務器器定義成服務器器組,⽽而
由 proxy_pass , fastcgi_pass 等指令進⾏行行引⽤用
upstream backend {
server backend1.example.com
weight=5;
server backend2.example.com:8080
;
server unix:/tmp/backend3;
server backup1.example.com:8080
backup;
server backup2.example.com:8080
backup;
}
server {
location / {
proxy_pass http://backend;
}
}
指令:
16.1 upstream
定義后端服務器器組,會引⼊入⼀一個新的上下⽂文
Syntax: upstream name { ... }
Default: —
Context: http
16.2 server
定義服務器器 address ,可以將地址指定為域名或IP
地址,使⽤用可選端⼝口,或者指定為 unix: 前綴后指
定的 UNIX 域套接字路路徑。如果未指定端⼝口,則使⽤用
端⼝口80
Syntax: server address [parameters];
Default: —
Context: upstream
參數:
weight=number # 權重,默認為1
max_conns # 連接后端報務器器最⼤大並發活動
連接數
max_fails=number # 連接后端服務器器最⼤大
失敗次數,超出指定的次數時, server 將
被標記為不不可⽤用,默認為1
fail_timeout=time # 后端服務器器在指定超
時時間內未做出回應,也會被認為不不可⽤用,
默認10s
backup # 將服務器器標記為 backup ,表示備
份服務器器( sorry server ),即所有服務器器
均不不可⽤用時才啟⽤用
down # 將服務器器標記為 down ,表示不不可
⽤用,配合 ip_hash 使⽤用,實現灰度發布
16.3 ip_hash
源地址 hash 調度⽅方法
Syntax: ip_hash;
Default: —
Context: upstream
16.4 least_conn
最少連接調度算法,當 server 擁有不不同的權重時其
為 wlc ,當所有后端主機連接數相同時,則使
⽤用 wrr ,適⽤用於⻓長連接
Syntax: least_conn;
Default: —
Context: upstream
16.5 hash
基於指定的 key 的 hash 表來實現對請求的調度,此
處的 key 可以直接⽂文本、變量量或⼆二者組合。將請求
分類,同⼀一類請求將發往同⼀一
個 upstreamserver ,使⽤用 consistent 參數, 將
使⽤用 ketama ⼀一致性 hash 算法,適⽤用於后端
是 Cache 服務器器(如 varnish )時使⽤用,提⾼高緩存
服務器器的緩存命中率
Syntax: hash key [consistent];
Default: —
Context: upstream
16.6 keepalive
為每個worker進程保留留的空閑的⻓長連接數量量,可節約
nginx端⼝口,並減少連接管理理的消耗
Syntax: keepalive connections;
Default: —
Context: upstream
16.7 health_check (商業版)
健康狀態檢測機制
Syntax: health_check [parameters];
Default: —
Context: location
參數:
interval=time # 檢測的頻率,默認為5秒
fails=number # 判定服務器器不不可⽤用的失敗
檢測次數;默認為1次
passes=number # 判定服務器器可⽤用的失敗檢
測次數;默認為1次
uri=uri # 做健康狀態檢測測試的⽬目標uri;
默認為/match=NAME:健康狀態檢測的結果
評估調⽤用此處指定的match配置塊
16.8 match (商業版)
對 backend server 做健康狀態檢測時,定義其結
果判斷機制
Syntax: match name { ... }
Default: —
Context: http
參數
status code[ code ...] # 期望的響應狀
態碼
header HEADER[operator value] # :期
望存在響應⾸首部,也可對期望的響應⾸首部的
值基於⽐比較操作符和值進⾏行行⽐比較
body # 期望響應報⽂文的主體部分應該有的內


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM