負載均衡----實現配置篇(Nginx)


客串:屌絲的坑人表單神器數據庫那點事兒

推薦:手把手教你做關鍵詞匹配項目(搜索引擎)---- 第一天(起點)、手把手教你做關鍵詞匹配項目(搜索引擎)---- 第十九天(最新)

面向對象升華:面向對象的認識----新生的初識面向對象的番外----思想的夢游篇(1)面向對象的認識---如何找出類

 

同類文章:負載均衡----概念認識篇


吐槽:自從那篇“探討負載均衡”那篇文章被博客園吐槽后,心里極度不平衡,思來想去還是把名字改成“負載均衡----概念認識篇”,再加多幾篇文章來詮釋上篇文章的精華所在。

還不了解負載均衡的,推薦你閱讀:負載均衡----概念認識篇

 

----------- 華麗的分割線 正文開始---------------

 

首先我們來回顧下上篇的概念: 負載均衡 == 分身的能力。

既然要有分身的能力嘛,這好辦,多弄幾台服務器就搞定了。
今天我們講的實例嘛…..我們還是先看圖比較好:



還是圖比較清晰,以下我都用別名稱呼:

  PA : 負載均衡服務器/WEB入口服務器/www.mydomain.com
  P1 : WEB服務器/分身1/192.168.2.3
  P2 : WEB服務器/分身2/192.168.2.4
  P3 : WEB服務器/分身3/192.168.2.5

 

PS:首先我們學這個的開始之前吧,不懂防火牆的童鞋們,建議你們把PA、P1、P2、P3的防火牆關閉,盡量不要引起不必要的麻煩。

首先 :PA、P1、P2、P3都安裝了Nginx,不會安裝的可以去官網查看教程:http://www.nginx.cn/install (中文版教程、非常的牛X)

1. 裝完之后哈,我們先找到 PA 的nginx.conf配置文件:
在http段加入以下代碼:

upstream servers.mydomain.com { 
    server 192.168.2.3:80; 
    server 192.168.2.4:80; 
    server 192.168.2.5:80;
}

當然嘛,這servers.mydomain.com隨便取的。

那么PA的server配置如下:
在http段加入以下代碼:

server{ 
    listen 80; 
    server_name www.mydomain.com; 
    location / { 
        proxy_pass http://servers.mydomain.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; 
    } 
}    

那么P1、P2、P3的配置如下:

server{ 
    listen 80; 
    server_name www.mydomain.com; 
    index index.html; 
    root /data/htdocs/www; 
}

 

2. 有人就問了,我用其它端口行不行啊,當然也是可以的,假設PA的nginx.conf配置文件:

upstream servers2.mydomain.com { 
    server 192.168.2.3:8080; 
    server 192.168.2.4:8081; 
    server 192.168.2.5:8082;
}

server{ 
    listen 80; 
    server_name www.mydomain.com; 
    location / { 
        proxy_pass http://servers2.mydomain.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; 
    } 
}

 

那么P1的配置如下:

server{ 
    listen 8080; 
    server_name www.mydomain.com; 
    index index.html; 
    root /data/htdocs/www; 
}

 

P2配置:

server{ 
    listen 8081; 
    server_name www.mydomain.com; 
    index index.html; 
    root /data/htdocs/www; 
}

 

P3配置:

server{ 
    listen 8082; 
    server_name www.mydomain.com; 
    index index.html; 
    root /data/htdocs/www; 
}

 

重啟之后,我們訪問下,恩不錯,確實很厲害。
當我們把一台服務器給關閉了后。
訪問網址,還是OK的。說明:負載均衡還要懂得修理他(T出泡妞隊營)

 

3. 那么負載均衡如何保持通話呢?
當然現在有好幾種方案,我們這次只是講一種。
IP哈希策略
  優點:能較好地把同一個客戶端的多次請求分配到同一台服務器處理,避免了加權輪詢無法適用會話保持的需求。
  缺點:當某個時刻來自某個IP地址的請求特別多,那么將導致某台后端服務器的壓力可能非常大,而其他后端服務器卻空閑的不均衡情況。


要想了解更深刻的印象,這兒有篇博文,推薦可以看看:
http://blog.csdn.net/xiajun07061225/article/details/9334477


nginx的配置也很簡單,代碼如下:

upstream servers2.mydomain.com { 
    server 192.168.2.3:8080; 
    server 192.168.2.4:8081; 
    server 192.168.2.5:8082;
    ip_hash;
}

 

其實一切就這么簡單,來趕快試試吧!

4. 說了這么多,其實你有沒有發現一個問題的所在,就是這么多服務器,他們共同需要的文件從哪里來?
想知道如何解決,請繼續關注:負載均衡 ---- 文件服務策略


免責聲明!

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



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