Dict.CN 在線詞典, 英語學習, 在線翻譯

          都市淘沙者

          荔枝FM Everyone can be host

          統計

          留言簿(23)

          積分與排名

          優秀學習網站

          友情連接

          閱讀排行榜

          評論排行榜

          使用apache+resin實現負載均衡設置【轉載】

          原文:http://liujintao.blog.51cto.com/413051/86242
          上周六參加了51CTO的負載均衡的技術沙龍,主要是基于LVS的負載均衡,受益匪淺,開闊了思路,回去要好好研究一下.
               其實使用web服務器自身的設置也能達到負載均衡的目的,我們公司使用的web服務器是resin,resin自生就可以進行負載均衡設置,但是只有professional版本才支持,這個東西的license一個CPU要$500,所以實際使用的apache+resin的組合(免費嘛:)),由于公司的系統只有運營商和CP會登錄訪問,并發壓力并不大,使用負載均衡主要是為了防止系統死掉后無法登錄,所以這樣的設計基本夠用了。如果并發訪問量很大的話,就應該考慮在apache前面加squid做cache、通過dns輪尋等方案了。

              雖然網上也有apache+resin進行負載均衡設置的例子,但是由于apach和resin不同版本的配置的配置文件有一定的差距,按照網上的資料不一定能設置成功,下面的例子是在linux環境下使用httpd-2.0.59和Resin-3.1.6進行負載均衡設置的,如果使用其他版本請參考apache和resin官方網站的配置說明
              需要準備3臺linux機器(如果是在沒有,可以先用一臺機器熟悉一下),每臺機器都要安裝apache和resin(其實1臺裝apach,另外2臺裝resin就夠用了,,之所以要全裝是為了以后的擴展考慮),其中一臺作為前端服務器(apache),另外2臺作為后臺服務器(resin)
           

          1 演示環境

          192.168.11.5:前端服務器
          192.168.11.111:后臺服務器
          192.168.11.11:后臺服務器
           

          2 安裝Apache


          到Apache的官方網站 [url]http://www.Apache.org[/url]可以下載。
          演示時使用的是httpd-2.0.59版本
          [root@yf3 liujt]# tar –xzvf httpd-2.0.59.tar.gz     //解壓縮安裝文件
          [root@yf3 liujt]# cd httpd-2.0.59               //進入解壓縮的文件
          [root@yf3 httpd-2.0.59] # ./configure --prefix /usr/local/Apache2 -–enable-rewrite=shared --enable-speling=shared
          [root@yf3 httpd-2.0.59] # make
          [root@yf3 httpd-2.0.59] # make install

          完成以上操作后,進入/usr/local/Apache2,發現Apache已經安裝完成.


          3 安裝Resin


          到Resin的官方網站可以下載
          演示時使用的是Resin-3.1.6版本
          和普通安裝Resin的方式有一點區別,Resin要聯合Apache安裝,也就是使用參數--with-Apache=/usr/local/Apache2
          [root@yf3 liujt]# tar –xzvf Resin-3.1.6.tar.gz     //解壓縮安裝文件
          [root@yf3 liujt]# cd Resin-3.1.6                    //進入解壓縮的文件
          [root@yf3 Resin-3.1.6] # ./configure --prefix=/usr/local/Resin --withapxs=/usr/local/
          Apache2/bin/apxs  
          [root@yf3 Resin-3.1.6] # make
          [root@yf3 Resin-3.1.6] # make install
           
           

          3  配置Resin


          需要修改2臺后服務器的Resin的配置文件Resin.conf,路徑/usr/local/Resin/conf/Resin.conf,如果有多個Resin,均按此方式配置
          [root@yf3 Resin-3.1.6] # vi /usr/local/Resin/conf/Resin.conf

          3.1 配置默認的負責均衡

          找到配置文件中的<!-- define the servers in the cluster -->,修改負載均衡配置,需要設置服務的ID、IP和port,例如192.168.11.11的設置如下
          <server id="a" address="127.0.0.1" port="6805"/>

          如果同一個項目要啟動多個服務,可以配置多項,但是要使用不同的id名稱和port,例如:
          <server id="a" address="127.0.0.1" port="6805"/>
          <server id="b" address="127.0.0.1" port="6806/>
           
          如果要在同一個resin中部署多個項目,可以設置不同的配置文件,指向不同的虛擬目錄來實現,啟動resin時啟動不同的配置文件即可.
           
           


          4 配置Apache


          需要對前端程序(192.168.11.5)的apach的配置文件httpd.conf進行修改,路徑:/usr/local/Apache2/conf/httpd.conf
          [root@yf3 Resin-3.1.6] # vi /usr/local/Apache2/conf/httpd.conf
           
          4.1 修改監聽接口

          找到配置文件中的Listen 80,此端口是在web頁面訪問時使用的端口,例如安裝apache的服務器IP是192.168.11.5,如果web的需要將web訪問地址設為[url]http://192.168.11.5:8080[/url],需要如下配置
          Listen 8080
           
          4.2 修改DocumentRoot

          找到配置文件中的DocumentRoot配置
          DocumentRoot "/usr/local/Apache2/htdocs"

          修改為實際需要的路徑,例如改為實際的發布路徑為/usr/local/Apache2/htdocs/test,就需要改成以下形式
          DocumentRoot "/usr/local/Apache2/htdocs/test"

          4.3 Directory

          找到配置文件中的Directory配置
          <Directory "/usr/local/Apache2/htdocs">

          修改為實際需要的路徑,例如改為實際的發布路徑為/usr/local/Apache2/htdocs/test,就需要改成以下形式
          <Directory "/usr/local/Apache2/htdocs/test">;

          4.4 修改DirectoryIndex

          找到配置文件中的DirectoryIndex配置
          DirectoryIndex index.html index.html.var

          增加index.jsp。修改為:
          DirectoryIndex index.jsp index.html index.html.var

          4.5  修改Rensin相關配置

          在apache的配置文件httpd.conf最后增加以下內容
          LoadModule caucho_module /usr/local/Apache2/modules/mod_caucho.so
          ResinConfigServer 192.168.11.11 6805
          ResinConfigServer 192.168.11.111 6806
          CauchoConfigCacheDirectory /tmp
          CauchoStatus yes

          其中ResinConfigServer配置的是調用的Resin的設置的負載均衡器的IP地址和端口號
          11.5的apach分別調用了11.11和11.111的兩個Resin
          11.11的Resin的負載生成器的配置為
          <server id="a" address="192.168.11.11" port="6805"/>

          11.111的Resin的負載生成器的配置為
          <server id="a" address="192.168.11.111" port="6806"/>


          5 訪問測試


          5.1. 編寫測試頁面

          為了檢查負載均衡是否生效,需要編寫測試頁面a.jsp,通過在web頁面和各Resin的日志中顯示的內容進行辨別,下面11.11的其中一個Resin為例說明
          <%System.out.println("server 192.168.11.11");%>          //在Resin日志中顯示
          server 192.168.11.11                                //在web頁面顯示

          其他Resin的a.jsp參照上面的例子,只需要將其中的內容替換掉,例如11.111的a.jsp文件可以寫成
          <%System.out.println("server 192.168.11.111");%>          //在Resin日志中顯示
          server 192.168.11.111                                  //在web頁面顯示

          5.2 發布項目

          1. Apche項目發布
          將a.jsp文件放到設置的apche的虛擬目錄中,演示的設置的虛擬目錄是
          DocumentRoot "/usr/local/Apache2/test"
          因此需要將a.jsp放到/usr/local/Apache2/test目錄下
          2. Resin項目發布
          分別將來兩個a.jsp文件放到192.168.11.11和192.168.11.111設置的Resin的虛擬目錄中,如果某Resin的虛擬目錄是
          <web-app id="/" root-directory="webapps/ROOT"/>
          則需要將a.jsp放到Resin的webapps/ROOT目錄下

          5.3. 啟動服務

          1. 啟動Apache
          [root@yf3 httpd-2.0.59] # /usr/local/Apache2/bin/httpd -f ./conf/httpd.conf
          2. 分別啟動調用的Resin


          例如啟動11.11的Resin-3.1.6中id為"a"的服務,需要在11.11服務器執行如下命令
          [root@ yf3 Resin-3.1.6] # / usr/local/Resin-web/bin/httpd.sh -server a start
          啟動11.111的Resin-3.1.6中id為"a"的服務,需要在11.111服務器執行如下命令
          [root@ localhost Resin-3.1.6] # / usr/local/Resin-web/bin/httpd.sh -server a start

          5.4. 驗證a.jsp

          使用IE多次訪問web發布頁面,通過頁面顯示的內容和Resin日志打印的內容,檢查是否隨機調用各Resin的a.jsp文件。
          Web頁面的訪問地址如下
          [url]http://192.168.11.5:8080/a.jsp[/url]
          查看rensin的方法如下,如果要看查看11.111的Resin-3.1.6中id為"a"服務的日志,需要在11.111服務器執行如下命令
          [root@ localhost Resin-3.1.6] # tail –f / usr/local/Resin-3.16 /log/a.log
          多次訪問[url]http://192.168.11.5:8080/a.jsp[/url],如果每次會隨機顯示其中一個Resin的a.jsp文件的內容,之后關閉其中個幾個Resin(不是全部關閉),[url]http://192.168.11.5:8080/a.jsp[/url]仍能正常訪問,至此就完成了負載均衡的測試。證明配置成功。之后就可以正是發布項目了

           

          posted on 2009-07-03 14:48 都市淘沙者 閱讀(421) 評論(0)  編輯  收藏 所屬分類: Tomcat/Weblogic/Resin/Jboss

          主站蜘蛛池模板: 社会| 万盛区| 溧水县| 晋江市| 黎城县| 天门市| 威海市| 武功县| 浦城县| 西和县| 长丰县| 老河口市| 乌拉特中旗| 琼结县| 新绛县| 昌黎县| 佳木斯市| 永和县| 湖北省| 丹东市| 虎林市| 黑河市| 囊谦县| 娄底市| 襄汾县| 堆龙德庆县| 疏勒县| 丁青县| 大竹县| 辽源市| 合作市| 东台市| 色达县| 清苑县| 潢川县| 曲松县| 正定县| 浠水县| 张掖市| 甘德县| 满城县|