Nginx負載均衡配置說明

WEB服務做負載均衡的方法有很多種,但使用Nginx做負載均衡部署毫無疑問是非常高效也是非常流行的一種。
  本人大多數做.NET開發,但部署負載卻一直用Nginx,對其他的負載方式研究不多,只測試過一次使用Server Farm做負載部署,沒有在實際項目中實戰,最近見同事使用Server Farm做負載配置,但對其性能等不甚瞭解,望知之者留言討論。
  廢話少說,請看步驟:
1、Nginx服務安裝部署
  請看上文《Nginx服務介紹》 http://www.linuxidc.com/Linux/2016-03/129423.htm
2、配置文件編寫
  在Nginx安裝目錄下下打開Vhost目錄(該目錄已經在Nginx.conf中被包含,如果只是針對某站點的某個目錄負載,可以將包含路徑修改一下即可),新建負載配置文件testfz.conf,內容如下:
upstream backend 
{
  server 192.168.1.106:8001  weight=1;
  server 192.168.1.107:8001  weight=2;
  #ip_hash;
}
server 
{
    listen      80;
    server_name  www.test.com;
    location ~ ^/*
    {
      proxy_set_header Host $host;
      proxy_set_header X-Real-IP $remote_addr;
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
      proxy_buffering off; #緩衝區
      proxy_pass http://www/backend;    
    }
}
3、測試
./nginx –t
返回如下信息表示參數配置無誤
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
4、重新加載配置文件
/etc/init.d/nginx reload
如果重啓報PID錯誤,在安裝路徑下-C重新加載一下配置文件即可。
5、關於Nginx配置的參數說明
  a、輪詢 每個請求根據Nginx配置文件中的順序,依次分發到不同的後端服務器,服務器如果down掉會自動識別並剔除;
  b、weight Nginx根據weight配置把請求更多地分發到高配置的後端服務器上,把相對較少的請求分發到低配服務器。
  c、ip_hash 每個請求按訪問ip的hash結果分配,保證連接到固定的負載服務器上,這種方式可以解決session問題;
  d、最少連接 可以將Web請求會被轉發到連接數最少的服務器上。只要加least_conn節就可以。
  另外這每個負載服務器上還可以做如下的配置:
  a、down : 當前的服務器暫時不參與負載;
  b、max_fails: 允許請求失敗的次數默認爲1,當超過最大次數時,返回proxy_next_upstream模塊定義的錯誤;
  c、fail_timeout : max_fails次失敗後,暫停的時間;
  d、backup: 其它所有非backup機器down或者忙時候,纔開始請求backup機器,可以用做故障轉移。
發佈了17 篇原創文章 · 獲贊 23 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章