nginx的負載均衡

2021-08-11 00:19:39 字數 2091 閱讀 1406

tar

zfxnginx-1

.4.7

.tar.gz

useradd

nginx-s

/sbin/nologin-m

##新增nginx使用者,不可登陸,沒有家目錄

./configrue--

user=nginx--

group=nginx--

prefix=/usr/local/nginx

make&&make

install

之後再將啟動命令放入sbin中即可啟動

負載均衡:

建立extra/upstream01.conf

;cd /usr/local/nginx/conf

mkdir extra

vim upstream01.conf

upstream blog_real_servers

server

}upstream模組語法:

範例1:

upstream blog_real_servers

upstream和server屬於關鍵字,不能改變

範例2:

upstream blog_server_pool
示例3

upstream backend
注意:

1.upstream 模組必須放在nginx.conf的http{}標籤之內;

2.upstream 他的預設演算法是wrr(權重輪詢)

server

172.25

.254

.103:80

##負載均衡後面的rs配置,可以是網域名稱或ip,埠不寫預設是80。高併發場景ip要換乘網域名稱,通過內部dns作負載均衡

weight ##是權重,預設是1。例如:兩台機器1:1和5:5分配結果是一樣的,權重比例大的分配的請求多。

max_fails=2

##最大嘗試失敗次數,預設為1。0表示禁止失敗嘗試。企業場景:京東1此,藍汛(cdn)10次,根據業務需求去配置。這個數值是配合proxy_next_upstream,fastcgi_next_upstream,memcached_next_upstream這三個引數來使用。當nginx接收後段伺服器返回的狀態碼之後,會將這個請求**給正常工作的後端伺服器,例如404,502,503。max_fails預設值是1。

back_up ##熱備配置(rs節點的高可用),當前面啟用的rs都失敗之後會自動啟用熱備rs。

fail——timeout=20s ##失敗超時時間,預設是10s。京東是1次,藍汛是10次,根據業務需求去配置

down ##這標誌著伺服器永遠不可用,這個引數一直配合ip_hash使用

upstream的演算法

1.rr輪詢

2.wrr權重

3.ip_hash

每個請求按訪問的ip的hash結果分配,當新的請求到達,先將其客戶端ip通過hash演算法計算出乙個值,在隨後請求客戶端,只要雜湊值相同,就會被分配至同一臺伺服器,實現會話保持。

當演算法為hash演算法時,後端伺服器在負載均衡排程中的狀態不能是weight和backup.

缺點:會導致負載不均衡

4.fair(不常用)

5.url_hash

按訪問的url的hash結果來分配請求,讓每個url定向到同乙個後端伺服器,後端伺服器為快取伺服器時效果顯著。相同的url位址對應的一定是同一臺伺服器。必須要安裝nginx的hash軟體包

url_hash用途cache服務業務,memcached,squid.特點:每個rs都是不同的。

6.least_conn

最少連線數。哪個機器連線少就發給誰

7.consistent_hash

一致性雜湊演算法

nginx 負載均衡 Nginx負載均衡策略

nginx提供的負載均衡策略有2種 內建策略和擴充套件策略。內建策略為輪詢 預設 加權輪詢,ip hash,第三方。upstream mysvr1 輪詢 每個請求按照時間順序逐一的分配到每乙個後台伺服器上。如果某台伺服器宕機了,將會自動的剔除宕機的服務。nginx預設就是輪詢其權重都預設為1,伺服器...

nginx負載均衡

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

nginx負載均衡

nginx s stop quick exit nginx s quit graceful quit nginx s reload changing configuration,starting a new worker,quitting an old worker gracefully nginx...