nginx 配置輪詢分流-實現負載均衡【測試通過】

     做php2年多了,一直覺得這個玩意很高深,最近總想去了解下。今天抽時間,弄了感覺這個東西沒有想象的那麼難弄。簡單的實現,確實非常容易,但是足可以實現負載均衡分佈的功能了。今天就給大家分享下,也算是一個小記錄吧!

    準備工作,3臺服務器,或者開虛擬機吧!我就是開虛擬機實現的。

    ip分別爲:192.168.1.10  192.168.1.11  192.168.1.12   (環境:安裝了ngixn 沒有做任何配置)

    3臺服務器環境最好一樣,我是再vm裏直接克隆出來的,環境絕對一樣吧!不一樣,我估計會遇到很多奇怪的問題,沒試過。


    192.168.1.10  作爲  負載均衡服務器  (一會負載均衡就在這裏臺服務器做配置,另外2臺不用做配置)

    

   先了解下負載一些常見知識

   

nginx 的 upstream目前支持 4 種方式的分配
1)、輪詢(默認)
      每個請求按時間順序逐一分配到不同的後端服務器,如果後端服務器down掉,能自動剔除。
2)、weight
      指定輪詢機率,weight和訪問比率成正比,用於後端服務器性能不均的情況。
2)、ip_hash
      每個請求按訪問ip的hash結果分配,這樣每個訪客固定訪問一個後端服務器,可以解決session的問題。 
3)、fair(第三方)
      按後端服務器的響應時間來分配請求,響應時間短的優先分配。 
4)、url_hash(第三方)

    可以開始配置了。打開192.168.1.10 的nginx.conf  只需要在配置文件增加如下代碼

    upstream  www.129.com  {
              server   192.168.1.11:80;
              server   192.168.1.12:80;
    }

    server {
      listen 80;
      server_name www.juzheke.com;
      location / {
         proxy_pass        http://www.juzheke.com;
         proxy_set_header   Host             $host;
         proxy_set_header   X-Real-IP        $remote_addr;
         proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
      }
      access_log logs/access_log;
      error_log logs/error_log;
    }

實踐結果:  

    http://www.juzheke.com  我通過修改host 指向了  192.168.1.10

    爲了使測試結果明顯,我修改了ngixn默認頁面的html

    vi /usr/local/nginx/html/index.html
   再index.html 加入顯示本機ip

  192.168.1.11 和  192.168.1.12  都要修改,這樣測才明顯

    我通過本機瀏覽器,輸入 http://www.juzheke.com

    每次刷新,都會跳轉到不同的服務器上頁面(當然我這個是爲了明顯所以用的是輪詢的方式,大家可以根據自己需求進行修改)






   

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