Nginx 負載均衡配置說明

2021-10-09 10:42:45 字數 2252 閱讀 6172

nginx負載均衡

實現負載均衡主要模組

反向**

反向**指的是以**伺服器接收使用者的的訪問請求,**使用者向內部伺服器重新發起請求,最後把內部伺服器的響應資訊返回給使用者。

為什麼使用反向**

#**要訪問的伺服器位址

proxy_set_header host $host;這個不是很好理解,先要理解http1.0和1.1版本區別

而nginx**是不會新增頭部host資訊的,那麼可能就會遇到錯誤400,或者只能訪問到預設server上的情況出現

proxy_set_header host $host; #就是增加這個頭部host資訊

$http_host:保留原有頭部host資訊(就是不改變任何資訊)

$host:頭部host資訊改為server_name

$proxy_host:頭部host資訊改為proxy_pass後面的資訊

#匹配規則就是server的匹配順序,先ip後server_name

proxy_set_header x-real-ip $remote_addr;

#獲取跟本伺服器建立tcp的ip(可能是nginx**或者是真實使用者ip)

proxy_set_header x-forwarded-for $proxy_add_x_forwarded_for;

#通過記錄完整的**鏈路識別到真實使用者ip

#x-real-ip和x-forwarded-for參考

upstream的模組ngx_http_upstream_module模組支援的**方式有proxy_pass,fastcgi_pass等,主要使用proxy_pass。

upstream模組允許nginx定義一組或多組節點伺服器組,使用時通過proxy_pass**把**的請求傳送到定義好的對應的節點組中。(反向**中proxy_pass後面url被upstream成定義伺服器組)

upstream排程演算法(參考)

靜態排程演算法:

rr輪詢(預設排程演算法) -------- 順序分配逐一請求

wrr權重輪詢演算法---------weight=2,**2次

ip_hash--------相同的ip固定**到一台伺服器上

動態排程演算法:(第三方外掛程式,需要安裝支援模組)

fair排程演算法------------ 響應時間短的優先分配

least_conn-----------連線請求少的優先分配

nginx負載均衡排程狀態

max_fails+fail_timeout max_fails就可以實現nginx的後端檢測功能,但是都是基於連線探測的

#如果發現後端異常,在單位週期為fail_timeout設定的時間中失敗次數達到max_fails次,這個週期次數內,如果後端同乙個節點不可用,那麼就將把節點標記為不可用,並等待下乙個週期(同樣時長為fail_timeout)再一次去請求,判斷是否連線是否成功,如果一台伺服器down後,會出現預設10s一次超時的問題,但是能確保使用

格式:【server】【ip:埠或url】【狀態】(預設不寫為rr輪詢)

upstream test

# test 為節點伺服器組的名字,必須有,可自定義名字,使用者**設定:proxy_pass http://test (這邊就由upstream**了)

proxy_headers_hash_max_size(預設512)和proxy_headers_hash_bucket_size(預設64)

http
設定nginx儲存http報文頭的hash表的上限,值要大於upstream test組下總和,通過hash頭部資訊來達到快速訪問(通過key/value鍵值對)

Nginx負載均衡配置說明

upstream塊定義了乙個上游伺服器的集群,便於反向 中的proxy pass使用。upstream t02 location t02 負載均衡策略 1 輪詢 預設 每個請求按照時間順序逐一分配到不同的後端伺服器,如果後端伺服器down掉,則系統自動剔除 2 指定權重。指定輪詢概率,weight和...

nginx負載均衡配置

curl nginx upstream fair.zip unzip nginx upstream fair.zip cd nginx 1.6.2 檢視當前nginx 編譯引數 nginx v 輸出 configure arguments prefix usr local nginx configu...

Nginx負載均衡配置

負載均衡是我們大流量 要做的乙個東西,下面我來給大家介紹在nginx伺服器上進行負載均衡配置方法,希望對有需要的同學有所幫助哦。負載均衡 先來簡單了解一下什麼是負載均衡,單從字面上的意思來理解就可以解釋n臺伺服器平均分擔負載,不會因為某台伺服器負載高宕機而某台伺服器閒置的情況。那麼負載均衡的前提就是...