1. 程式人生 > >05 Ngnix 負載均衡配置,常用策略

05 Ngnix 負載均衡配置,常用策略

簡介

1. 輪詢(預設)

優點:實現簡單,預設配置;
缺點:不考慮每臺伺服器處理能力
upstream 後面要被負載均衡的域名;
server 負載的埠

upstream www.hxxiaodao.com{
    server www.hxxiaodao.com:8080;
    server www.hxxiaodao.com:8088;
}

2. 權重

優點: 考慮每臺伺服器處理能力不同達到能者多勞
權重也是實際生產環境使用最對的方式
weight 預設是1,多個配置權重的節點,比較相對值,如下配置指標是8080是8088的1.5倍;

upstream www.hxxiaodao.com{
    server www.hxxiaodao.com:8080 weight=15;
    server www.hxxiaodao.com:8088 weight=10;
}

3. ip hash

優點:同一個使用者訪問同一個伺服器
缺點:根據ip hash 不一定平均

upstream www.hxxiaodao.com{
    ip_hash;
    server www.hxxiaodao.com:8080;
    server www.hxxiaodao.com:8088;
}

4. url hash(第三方提供)

優點:能夠實現同一個服務訪問同一個伺服器;
缺點:根據url hash 分配請求會不平均,請求頻繁的url 會請求到同一個伺服器上。

upstream www.hxxiaodao.com{
    server www.hxxiaodao.com:8080;
    server www.hxxiaodao.com:8088;
    hash $request_uri;
}

注意 使用url hash 需要安裝第三方外掛

5. fair(第三方)

優點:按後端伺服器的響應時間來分配請求,響應時間短優先分配;

upstream www.hxxiaodao.com{
    server www.hxxiaodao.com:8080;
    server www.hxxiaodao.com:8088;
    fair;
}

負載均衡引數講解擴充套件知識點

upstream backserver{
    ip_hash;
    server 127.0.0.1:9090 down;(down 表示當前的server暫時不參與負載)
    server 127.0.0.1:8080 weight-2;(weight 預設是1,weight越大,負載權重就越大)
    server 127.0.0.1:6060;
    server 127.0.0.1:7070 backup;(其它所有的非backup機器down後置忙的時候,請求backup機器。就是一個備用機器)
}

範例

upstream www.hxxiaodao.com{
	server 127.0.0.1:8080;
	server 127.0.0.1:8088;
}

server{
	listen 80;
	autoindex on;
	server_name www.hxxiaodao.com;
	access_log c:/logs/ngnix.log combined;
	index index.html index htm index.jsp index.php;
	#error_page 404 /404.html;
	if ( $query_string ~* ".*[\;'\<\>].*" ){ 
		return 404; 
	}
	location /{
		root C:\ftpfile\img;	#root 節點表示轉發到目錄下,img最後不要加斜槓(windowns) 注意斜槓Liunx和Windowns 不一樣
		#proxy_pass http://www.hxxiaodao.com;	# proxy_pass 表示轉發到埠
		add_header Access-Control-Allow-Origin *;
	}
}

訪問 www.hxxiaodao.com 被反向負載到本機的8080 或者 8088 兩個訪問。

ngnix conf 下建立vhost 目錄然後建立www.hxxiaodao.com.conf檔案