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,如果三台服務器能輪詢切換就證明配置成功


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM