Java, Only Java!

          統計

          留言簿(20)

          積分與排名

          好友空間

          文檔技巧

          閱讀排行榜

          評論排行榜

          如何使用Apache作為前端負載均衡器(轉自李其的文檔)

          作者: 李其 上次修改時間: 2007-04-19 15:53

          在某些場景中,我們需要在前端放置一個Apache作為負載均衡器,后臺有若干臺Apusic或者其它的類似于Tomcat/WebLogic等應用服務器,客戶端發送到Apache的請求,將被分配到后臺的這些真正完成請求的服務器上。本文描述如何使用Apache作為負載均衡器的方法和不同的負載均衡的配置。

          ?????? 在某些場景中,我們需要在前端放置一個Apache作為負載均衡器,后臺有若干臺Apusic或者其它的類似于Tomcat/WebLogic等應用服務器,客戶端發送到Apache的請求,將被分配到后臺的這些真正完成請求的服務器上。本文描述如何使用Apache作為負載均衡器的方法。

          ?????? 我們假設Apahce安裝在 myserver 這臺服務器上,并且希望用戶訪問http://myserver/ 時,能夠將這些請求被負載到后臺的兩臺服務器上,分別是:http://192.168.6.37:8080/ 和 http://192.168.6.37:6888/

          ?

          一、安裝并重新編譯Apache

          1、linux下Apache的安裝

          下載最新的Apache安裝包httpd-2.2.3.tar.gz文件

          1) 解壓

          ???????? gzip –d httpd-2.2.3.tar.gz

          ???????? tar xvf httpd-2.2.3.tar

          2) 解壓以后,cd httpd-2.2.3 進入解壓后的目錄,在終端執輸入以下命令:

          ./configure --prefix=/usr/local/httpd --enable-so --enable-proxy --enable-proxy-ajp --enable-proxy-http --enable-proxy-ftp --enable-proxy-connect?--enable-proxy-balancer

          ????? 默認情況下,Apache安裝是不會將這些文件編譯進內核,因此,需要人工加載,而通過上述操作,在編譯時會將這些DSO文件編譯到內核中。

          3) 在終端輸入:make

          4) 在終端輸入:make install

          5) 進入Apache的bin目錄,在終端輸入apachectl –k start

          6) 在瀏覽器中輸入http://myserver,默認是80端口,如果出現It works!,說明Apache已經正常啟動。

          2、window下Apache的安裝

          1) 下載apache_2.2.2-win32-x86-no_ssl.msi版本或其他版本的apache
          2) 點擊該文件,就可以直接安裝
          3) 要配置負載均衡,進入apache的安裝目錄下的conf目錄,打開httpd.conf文件,將文件中mod_proxy.so、 mod_proxy_ajp.so、mod_proxy_balancer.so、mod_proxy_connect.so、??mod_proxy_http.so 、mod_proxy_ftp.so所在行的注釋去掉,就可以進行負載均衡的配置。

          4) 在瀏覽器中輸入http://myserver,默認是80端口,如果出現It works!,說明Apache已經正常啟動。

          二、配置Apache作為LoadBalance

          將Apache作為LoadBalance前置機分別有三種不同的部署方式,分別是:

          1 )輪詢均衡策略的配置

          進入Apache的conf目錄,打開httpd.conf文件,在文件的末尾加入:

          ProxyPass / balancer://proxy/???????? #注意這里以"/"結尾

          <Proxy balancer://proxy>

          ????? ?BalancerMember http://192.168.6.37:6888/

          ?????? BalancerMember http://192.168.6.38:6888/

          </Proxy>

          ????? 我們來觀察上述的參數“ProxyPass / balancer://proxy/”,其中,“ProxyPass”是配置虛擬服務器的命令,“/”代表發送Web請求的URL前綴,如:http://myserver/或者http://myserver/aaa,這些URL都將符合上述過濾條件;“balancer://proxy/”表示要配置負載均衡,proxy代表負載均衡名;BalancerMember 及其后面的URL表示要配置的后臺服務器,其中URL為后臺服務器請求時的URL。以上面的配置為例,實現負載均衡的原理如下:

          ????? 假設Apache接收到http://localhost/aaa請求,由于該請求滿足ProxyPass條件(其URL前綴為“/”),該請求會被分發到后臺某一個BalancerMember,譬如,該請求可能會轉發到 http://192.168.6.37:6888/aaa進行處理。當第二個滿足條件的URL請求過來時,該請求可能會被分發到另外一臺BalancerMember,譬如,可能會轉發到http://192.168.6.38:6888/。如此循環反復,便實現了負載均衡的機制。

          2) 按權重分配均衡策略的配置

          ProxyPass / balancer://proxy/???????? #注意這里以"/"結尾

          <Proxy balancer://proxy>

          ??????? BalancerMember http://192.168.6.37:6888/? loadfactor=3

          ??????? BalancerMember http://192.168.6.38:6888/? loadfactor=1

          </Proxy>

          ????? 參數”loadfactor”表示后臺服務器負載到由Apache發送請求的權值,該值默認為1,可以將該值設置為1到100之間的任何值。以上面的配置為例,介紹如何實現按權重分配的負載均衡,現假設Apache收到http://myserver/aaa 4次這樣的請求,該請求分別被負載到后臺服務器,則有3次連續的這樣請求被負載到BalancerMember為http://192.168.6.37:6888的服務器,有1次這樣的請求被負載BalancerMember為http://192.168.6.38:6888后臺服務器。實現了按照權重連續分配的均衡策略。

          3) 權重請求響應負載均衡策略的配置

          ProxyPass / balancer://proxy/ lbmethod=bytraffic? #注意這里以"/"結尾

          <Proxy balancer://proxy>

          ???????? BalancerMember http://192.168.6.37:6888/? loadfactor=3

          ???????? BalancerMember http://192.168.6.38:6888/ ?loadfactor=1

          ?</Proxy>

          ?????? 參數“lbmethod=bytraffic”表示后臺服務器負載請求和響應的字節數,處理字節數的多少是以權值的方式來表示的。“loadfactor”表示后臺服務器處理負載請求和響應字節數的權值,該值默認為1,可以將該值設置在1到100的任何值。根據以上配置是這么進行均衡負載的,假設Apache接收到http://myserver/aaa請求,將請求轉發給后臺服務器,如果BalancerMember為http://192.168.6.37:6888后臺服務器負載到這個請求,那么它處理請求和響應的字節數是BalancerMember為http://192.168.6.38:6888 服務器的3倍(回想(2)均衡配置,(2)是以請求數作為權重負載均衡的,(3)是以流量為權重負載均衡的,這是最大的區別)。

          注:每次修改httpd.conf,用apachectl –k restart重新啟動Apache。

          posted on 2008-03-04 16:08 zYx.Tom 閱讀(2773) 評論(1)  編輯  收藏

          評論

          # re: 如何使用Apache作為前端負載均衡器(轉自李其的文檔) 2008-03-04 22:11 binge

          很通俗  回復  更多評論   


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 白山市| 郓城县| 岢岚县| 馆陶县| 苏州市| 大庆市| 怀化市| 收藏| 蒙阴县| 灌云县| 鹤岗市| 房山区| 通化市| 桑日县| 弥勒县| 讷河市| 尼木县| 余江县| 阳曲县| 内乡县| 新津县| 亳州市| 巴里| 益阳市| 延津县| 舟曲县| 电白县| 天长市| 栾川县| 沾益县| 呼伦贝尔市| 南雄市| 喀喇沁旗| 武义县| 灵川县| 定陶县| 光泽县| 塘沽区| 会泽县| 建宁县| 彰化县|