Linux配置Nginx負載均衡

nginx配置負載均衡其實很簡單,一直還以爲負載均衡是個很高端人士玩的

首先先了解下負載均衡,假設一個場景,如果有1000個客戶同時訪問你服務器時,而你只有一臺服務器的Nginx,且只有一個MySQL服務器,那麼這些請求

可能會高出你的的服務器承受能力,就會down掉;

解決方法:

1.垂直升級:就是增加服務器的配置,CPU,內存等

2.水平升級:添加多臺服務器來分擔服務器壓力

常見的負載均衡器

根據工作在的協議層劃分可劃分爲:

四層負載均衡:根據請求報文中的目標地址和端口進行調度
七層負載均衡:根據請求報文的內容進行調度,這種調度屬於「代理」的方式
根據軟硬件劃分:

硬件負載均衡:
F5 的 BIG-IP
Citrix 的 NetScaler
這類硬件負載均衡器通常能同時提供四層和七層負載均衡,但同時也價格不菲
軟件負載均衡:
TCP 層:LVS,HaProxy,Nginx
基於 HTTP 協議:Haproxy,Nginx,ATS(Apache Traffic Server),squid,varnish
基於 MySQL 協議:mysql-proxy

配置Nginx負載均衡

vi /nignx目錄/nginx.conf

添加下面這段 backend可以自由命名

upstream backend {

   #添加服務器到負載均衡

     server 192.168.1.252;

             server 192.168.1.251 weight=2;#設置該服務器在負載均衡中的權重  默認爲1;越高則訪問的頻次越大

             server 192.168.1.252 down;  #表示down掉這臺服務器,不參與負載均衡

             server 192.168.1.247 backup; #備用服務器 當其他服務器很忙或者down掉之後纔會啓動這臺的

         }

配置參數

max_fails :允許請求失敗的次數默認爲1.當超過最大次數時,返回proxy_next_upstream 模塊定義的錯誤
fail_timeout:max_fails次失敗後,暫停的時間。

server {

        listen       80;

        server_name  localhost;



        location / {

             #反向代理的地址

             proxy_pass http://backend;     

        }

}

這樣子就已經配置完成了

訪問localhost,如果三臺服務器能輪詢切換就證明配置成功

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章