Nginx之負載均衡配置(二)

2022-03-17 14:51:17 字數 1990 閱讀 2570

前文我們聊到了nginx作為負載均衡的配置,前端nginx作為排程器排程http或https請求,回顧請參考其實nginx面向客戶端一側它除了可以**http或https的請求外,它還可以**tcp的請求,因為nginx它本身工作在應用層,通常情況下我們把它**tcp的請求叫做偽四層排程;在之前的文章中我們有說到過四層排程,比如lvs,它就是乙個純粹的四層排程,使用者的請求報文根本就不會到達應用層,在tcp通訊子網的三層或四層中就會把使用者的請求處理**發)排程給後端主機;早期版本的nginx是不支援tcp排程的,在1.9.0之後的版本中,nginx新增了ngx_stream_core_module模組後,就支援對tcp請求的排程;我們來看看這個模組的相關介紹吧!!!

一、ngx_stream_core_module:此模組模擬了反代基於tcp或udp的服務連線,即工作於傳輸層的反代或排程器;

3、server:定義虛擬伺服器,此指令只能用於stream的配置段中;表示定義虛擬伺服器的屬性;用法類似http配置段的server用法;

二、ngx_stream_proxy_module:此模組在1.9.0後的版本支援對tcp請求的**,在1.9.13後的版本支援udp請求的**和unix_domain sockets的**;

1、 proxy_pass address:設定**伺服器的位址。位址可以指定為乙個網域名稱或ip位址,以及乙個埠或者unix-domain socket路徑檔案;

2、proxy_timeout time:設定客戶端或**伺服器連線上的兩個連續讀或寫操作之間的超時。如果在此時間內沒有傳輸資料,則連線關閉。

預設時長是10分鐘;

3、proxy_connect_timeout time;設定nginx與被**的伺服器嘗試建立連線的超時時長;預設為60s;

三、ngx_stream_upstream_module:此模組(1.9.0)用於定義可以由proxy_pass指令引用的伺服器組。

1、upstream name :此指令表示定義乙個伺服器組,以及組中各server的位址和屬性,用法同ngx_http_upstream_module中的upstream用法一致,兩者不同的是這裡的upstream只能用於stream配置段,表示該組伺服器是支援通過nginx基於tcp或udp協議進行排程;

2、server:定義組中伺服器成員以及伺服器屬性;用法同ngx_http_upstream_module中的server用法一致;

3、hash key:基於指定的key的hash表實現請求排程,此處的key可以文字、變數或二者的組合;同ngx_http_upstream_module中的hash指令用法一致;

4、least_conn:定義排程演算法為最近最少連線演算法;當server擁有不同的權重時為wlc;當所有後端主機的連線數相同時,則使用wrr進行排程;

示例:

示例:

假如後端伺服器宕機了,nginx還會往後端宕機的伺服器上排程請求嗎?

有關nginx基於tcp做偽四層排程的方法,基本上同基於http協議的七層排程方法是一樣的,這裡就不過多演示;更多有關於nginx的指令和配置說明請參考nginx官方文件

Nginx負載均衡配置(二)

目錄 一 upstream模組配置說明 1.基礎配置引數 2.多組負載均衡配置 二 簡單的負載均衡配置 1.環境準備 2.具體配置 upstream模組主要用來配置反向 伺服器組,nginx會根據配置,將請求分發給伺服器組裡的某一台伺服器。如下,loadserver是伺服器組的名稱。nginx支援同...

Nginx簡單配置(二)負載均衡

user nobody worker processes 1 error log logs error.log error log logs error.log notice error log logs error.log info pid logs nginx.pid events 1.down...

Nginx入門之負載均衡配置

nginx負載均衡一些基礎知識 nginx 的 upstream目前支援 4 種方式的分配 1 輪詢 預設 每個請求按時間順序逐一分配到不同的後端伺服器,如果後端伺服器down掉,能自動剔除。2 weight 指定輪詢機率,weight和訪問比率成正比,用於後端伺服器效能不均的情況。2 ip has...