Nginx负载均衡常用配置
生活随笔
收集整理的這篇文章主要介紹了
Nginx负载均衡常用配置
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
搭建實驗環(huán)境(使用docker部署兩臺nginx容器)
1)使用搭建第一臺nginx服務 [root@linux-node4 ~]# docker container run -d --name web01 -p 81:80 nginx 測試訪問:http://192.168.56.14:81/ root@c58a7f1fb89d:/# docker exec -it web01 bash root@c58a7f1fb89d:/# echo web01 > /usr/share/nginx/html/index.html2)使用docker搭建第二臺nginx服務 [root@linux-node4 ~]# docker container run -d --name web02 -p 82:80 nginx 測試訪問:http://192.168.56.14:82/ root@a3440d30f27c:/# docker exec -it web02 bash root@a3440d30f27c:/# echo web02 > /usr/share/nginx/html/index.html默認輪訓(在真實主機中安裝nginx并配置負載均衡)
輪訓:每個請求按時間順序逐一分配到不同的后端服務器,如果后端服務器down掉,能自動剔除。
負載均衡常用配置梳理
1、輪詢(默認) 每個請求按時間順序逐一分配到不同的后端服務器,如果后端服務器down掉,能自動剔除。upstream backserver {server 192.168.0.14;server 192.168.0.15; }2、權重 weight 指定輪詢幾率,weight和訪問比率成正比,用于后端服務器性能不均的情況。upstream backserver {server 192.168.0.14 weight=3;server 192.168.0.15 weight=7; }3、ip_hash( IP綁定) 上述方式存在一個問題就是說,在負載均衡系統中,假如用戶在某臺服務器上登錄了,那么該用戶第二次請求的時候,因為我們是負載均衡系統, 每次請求都會重新定位到服務器集群中的某一個,那么已經登錄某一個服務器的用戶再重新定位到另一個服務器,其登錄信息將會丟失,這樣顯然是不妥的。 我們可以采用ip_hash指令解決這個問題,如果客戶已經訪問了某個服務器,當用戶再次訪問時,會將該請求通過哈希算法,自動定位到該服務器。 每個請求按訪問ip的hash結果分配,這樣每個訪客固定訪問一個后端服務器,可以解決session的問題。upstream backserver {ip_hash;server 192.168.0.14:88;server 192.168.0.15:80; }4、fair(第三方插件) 按后端服務器的響應時間來分配請求,響應時間短的優(yōu)先分配。upstream backserver {server server1;server server2;fair; }5、url_hash(第三方插件) 按訪問url的hash結果來分配請求,使每個url定向到同一個后端服務器,后端服務器為緩存時比較有效。upstream backserver {server squid1:3128;server squid2:3128;hash $request_uri;hash_method crc32; }參考來自于此
總結
以上是生活随笔為你收集整理的Nginx负载均衡常用配置的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Docker中的网络问题
- 下一篇: Celery基本介绍