<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Believe it,do it!

    Ideal is the beacon. Without ideal, there is no secure direction; without direction ,there is no life.
    理想是指路明燈。沒有理想,就沒有堅定的方向;沒有方向,就沒有生活。
    CTRL+T eclipse
    posts - 35, comments - 3, trackbacks - 0, articles - 0
      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

    最新版整合Apache2.2.9和Tomcat6.0.18

    Posted on 2009-10-22 10:11 三羽 閱讀(788) 評論(0)  編輯  收藏 所屬分類: JAVA資料

    APACHE 2.2.9+TOMCAT6.0.18配置負載均衡

    目標:

    使用 apache 和 tomcat 配置一個可以應用的 web 網站,要達到以下要求:

    1、  Apache 做為 HttpServer ,后面連接多個 tomcat 應用實例,并進行負載均衡。

    2、  為系統設定 Session 超時時間,包括 Apache 和 tomcat

    3、  為系統屏蔽文件列表,包括 Apache 和 tomcat

    注:本例程以一臺機器為例子,即同一臺機器上裝一個apache和4個Tomcat。

    一、前期準備工作:安裝用的程序(前提保證已安裝了JDK1.5以上的版本)

    APAHCE 2.2.9下載:apache_2.2.9-win32-x86-no_ssl.msi

    TOMCAT6.0.18下載:apache-tomcat-6.0.18.zip直接解壓。

    二、安裝過程

    APAHCE安裝目錄:D:\Apache。

    四個TOMCAT目錄:自行解壓到(D:\Tomcat集群服務器\)下。分別為 tomcat6.0,tomcat6.01,tomcat6.02,tomcat6.03

    這幾個安裝過程就不詳細說明了。

    三、配置

    1、Apache配置

    1.1、httpd.conf配置

    修改APACHE的配置文件D:\Apache \conf\httpd.conf

    將以下Module的注釋去掉,這里并沒有使用mod_jk.so進行apache和tomcat的鏈接,從2.X以后apache自身已集成了mod_jk.so的功能。只需簡單的把下面幾行去掉注釋,就相當于以前用mod_jk.so比較繁瑣的配置了。這里主要采用了代理的方法,就這么簡單。

    LoadModule proxy_module modules/mod_proxy.so

    LoadModule proxy_connect_module modules/mod_proxy_connect.so

    LoadModule proxy_ftp_module modules/mod_proxy_ftp.so

    LoadModule proxy_http_module modules/mod_proxy_http.so

    LoadModule proxy_ajp_module modules/mod_proxy_ajp.so

    LoadModule proxy_balancer_module modules/mod_proxy_balancer.so

    再找到<IfModule dir_module></IfModule>加上index.jsp修改成

    <IfModule dir_module>

    DirectoryIndex index.html index.jsp

    </IfModule>

    1.1.1、  在最下面加入

    ProxyRequests Off

    <proxy balancer://cluster>

    BalancerMember ajp://127.0.0.1:8009 loadfactor=1 route=jvm1

    BalancerMember ajp:// 127.0.0.1:9009 loadfactor=1 route=jvm2

    BalancerMember ajp:// 127.0.0.1:9001 loadfactor=1 route=jvm3

    BalancerMember ajp:// 127.0.0.1:9003 loadfactor=1 route=jvm4

    </proxy>

    上面的四個BalancerMember成員是我們配置的tomcat集群。后面會說明的。

    1.2、httpd-vhosts.conf設置

    接下來進行虛擬主機的設置。APACHE的虛擬主機設置如下:

    首先要修改 conf/httpd.conf找到(#Include conf/extra/httpd-vhosts.conf)

    把注釋去掉。

    # Virtual hosts

    Include conf/extra/httpd-vhosts.conf

    在文件(extra/httpd-vhosts.conf)最下面加入

    <VirtualHost *:80>

             ServerAdmin rosi@126.com

             ServerName localhost

             ServerAlias localhost

             ProxyPass / balancer://cluster/ stickysession=jsessionid nofailover=On

             ProxyPassReverse / balancer://cluster/

    </VirtualHost>

    其中的域名和路徑根據你自己情況設置

    然后再設置TOMCAT虛擬主機

    2 配置 tomcat

    2.1.  配置 server 的關閉

    我們需要在一臺機器上跑 4 個不同的 tomcat ,需要修改不同的 tomcat 的關閉口,避免出現端口被占用的情況。其中tomcat6.0用默認值,不修改。其他三個修改。在tomcat6.01\conf, tomcat6.02\conf下和tomcat6.03\conf下的 server.xml 中找到 server, 將:

    <Server port="8005" shutdown="SHUTDOWN">

    改為

    <Server port="XXXX" shutdown="SHUTDOWN">

    XXXX 在這里表示不同的端口:我的其它三個 tomcat 分別使用 9005,8006 , 9007  

    2.2. 配置 Engine

    把原來的配置注釋掉,把下面一句去掉注釋。并標明jvmRoute="jvm2".

    <Engine name="Standalone" defaultHost="localhost" jvmRoute="jvm2">        

    以下是原來的配置。

    <!-- <Engine name="Catalina" defaultHost="localhost">  -->

    其他(tomcat6.02和tomcat6.03)也要同樣 配置。注意:jvmRoute配置不要一樣。

    <Engine name="Standalone" defaultHost="localhost" jvmRoute="jvm3"> 

    <Engine name="Standalone" defaultHost="localhost" jvmRoute="jvm4"> 

    2.3. 配置 Connector

    原來的默認配置。

    <!-- Define an AJP 1.3 Connector on port 8009 -->

    <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />

    這里是apache和tomcat鏈接的關鍵,前臺apache就是通過AJP協議與tomcat進行通信的,以完成負載均衡的作用。也可以用HTTP協議。大家注意它們是如何連接通信的,上面的紅色部分(port="8009")就是連接的接口了。

    把其他三個tomcat的<Connector port="XXX" />port分別改成與上面

    <proxy balancer://cluster>

         #與tomcat6.0對應,route與<Engine jvmRoute="jvm1">對應。

    BalancerMember ajp://127.0.0.1:8009 loadfactor=1 route=jvm1

    #與tomcat6.01對應,route與<Engine jvmRoute="jvm2">對應。

    BalancerMember ajp:// 127.0.0.1:9009 loadfactor=1 route=jvm2

    #與tomcat6.02對應,route與<Engine jvmRoute="jvm3">對應。

    BalancerMember ajp:// 127.0.0.1:9001 loadfactor=1 route=jvm3

    #與tomcat6.03對應,route與<Engine jvmRoute="jvm4">對應。

    BalancerMember ajp:// 127.0.0.1:9003 loadfactor=1 route=jvm4

    </proxy>

    中的端口對應,tomcat6.01 的ajp端口port:9009. tomcat6.02 的ajp端口port:9001。tomcat6.03 的ajp端口port:9003.一定要與上面的一致。同時也要把redirectPort的值改成唯一的,確保四個tomcat的都不一樣。

    2.5.配置Cluster(每個tomcat中都要修改)

    原來的配置。

    <Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>

    修改為以下的代碼:<Receiver port=”XX”/>port也要保證唯一性。

    <Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"  channelSendOptions="6">

    <Manager className="org.apache.catalina.ha.session.BackupManager"

    expireSessionsOnShutdown="false"

    notifyListenersOnReplication="true"

    mapSendOptions="6"/>

    <!--

    <Manager className="org.apache.catalina.ha.session.DeltaManager"

    expireSessionsOnShutdown="false"

    notifyListenersOnReplication="true"/>

    -->

    <Channel className="org.apache.catalina.tribes.group.GroupChannel">

    <Membership className="org.apache.catalina.tribes.membership.McastService"

    address="228.0.0.4"

    port="45564"

    frequency="500"

    dropTime="3000"/>

    <Receiver className="org.apache.catalina.tribes.transport.nio.NioReceiver"

    address="auto"

    port="5001"

    selectorTimeout="100"

    maxThreads="6"/>

    <Sender className="org.apache.catalina.tribes.transport.ReplicationTransmitter">

    <Transport className="org.apache.catalina.tribes.transport.nio.PooledParallelSender"/>

    </Sender>

    <Interceptor className="org.apache.catalina.tribes.group.interceptors.TcpFailureDetector"/>

    <Interceptor className="org.apache.catalina.tribes.group.interceptors.MessageDispatch15Interceptor"/>

    <Interceptor className="org.apache.catalina.tribes.group.interceptors.ThroughputInterceptor"/>

    </Channel>

    <Valve className="org.apache.catalina.ha.tcp.ReplicationValve"

    filter=".*\.gif;.*\.js;.*\.jpg;.*\.png;.*\.htm;.*\.html;.*\.css;.*\.txt;"/>

    <Deployer className="org.apache.catalina.ha.deploy.FarmWarDeployer"

    tempDir="/tmp/war-temp/"

    deployDir="/tmp/war-deploy/"

    watchDir="/tmp/war-listen/"

    watchEnabled="false"/>

    <ClusterListener className="org.apache.catalina.ha.session.ClusterSessionListener"/>

    </Cluster>

    這個設置是主要用以tomcat的集群。

    四、啟動服務,測試tomcat自帶的例子

    1、測試apache和tomcat協作。

    先在每個tomcat中的\webapps\ROOT下的index.jsp下面加上以下的測試代碼部分:(X代表不同的tomcat的輸出不同的信息),把index.html刪除,以免影響測試效果。在最后面的加上.即</table></body>之間。

    <%

          System.out.println("tomcat6.0X  deal  with  request");

    %>

    然后再通過http:// 127.0.0.1來訪問一下,就會出現大家熟悉的貓貓。

    然后再通過分別訪問

    http:// 127.0.0.1:8080, http:// 127.0.0.1:9080,http:// 127.0.0.1:8081,http:// 127.0.0.1:9002它們訪問的內容和上面的http:// 127.0.0.1是一樣的。

    這樣就說明apache和TOMCAT整合成功!

    2、測試均衡器

    通過http:// 127.0.0.1多次訪問,要想看到真正的效果,必須用一些壓力測試工具,可用微軟Microsoft Web Application Stress Tool進行簡單壓力測試,不然你靠不停刷新是體現不出來的,你只會在一個tomcat的控制臺有輸出結果。只用用壓力測試工具模擬大量用戶同時訪問,你會發現四個tomcat控制臺均有打出控制信息,說明均衡器工作正常。

    3、測試Session復制

    訪問url: http://localhost/examples/servlet/SessionExample 可以得到一個關于session的例子,我們用它來測試集群的錯誤恢復能力。

    測試步驟如下:

    關閉tomcat1和tomcat2;

    啟動tomcat1

    在瀏覽器中輸入屬性名tomcat1和屬性值tomcat1再提交,返回的頁面顯示session中有剛剛輸入的tomcat1屬性;

    啟動tomcat2;

    過一會后(等待tomcat2和tomcat1通信并復制信息)關閉tomcat1;

    在瀏覽器中輸入屬性名tomcat2和屬性值tomcat2再提交,返回的頁面顯示session中有剛剛輸入的tomcat2屬性,還有先前輸入的tomcat1屬性;

    啟動tomcat1;

    過一會后(等待tomcat2和tomcat1通信并復制信息)關閉tomcat2;

    在瀏覽器中輸入屬性名tomcat11和屬性值tomcat11再提交,返回的頁面顯示session中有剛剛輸入的tomcat11屬性,還有先前輸入的tomcat1和tomcat2屬性;

    主站蜘蛛池模板: 国内自产少妇自拍区免费| 波多野结衣免费在线| 免费A级毛片无码专区| 69视频在线是免费观看| 无码国产精品久久一区免费| 日本免费高清一本视频| 亚洲国产精品毛片av不卡在线| 免费成人黄色大片| 亚洲精品狼友在线播放| 亚洲国产精品成人综合久久久| 亚洲午夜无码久久久久小说| 精品国产免费一区二区三区| 最近中文字幕大全免费视频| 女人与禽交视频免费看| 国产gv天堂亚洲国产gv刚刚碰| 日韩精品一区二区亚洲AV观看| 亚洲AV无码一区二区三区牛牛| 一级做a爰片久久毛片免费陪 | 成在人线av无码免费高潮喷水| 国产成人精品免费视频大全麻豆| 国产免费131美女视频| 亚洲gv白嫩小受在线观看| 亚洲AV无码精品蜜桃| 五月天国产成人AV免费观看| 日本免费网站视频www区| 亚洲精品第一国产综合境外资源 | 国产成人精品日本亚洲网站| 亚洲中文字幕一区精品自拍| 精品多毛少妇人妻AV免费久久| 黄色片在线免费观看| 中文字幕亚洲第一| 亚洲国产成+人+综合| a高清免费毛片久久| 一二三四影视在线看片免费 | 日韩亚洲国产二区| 亚洲无人区视频大全| 韩国免费a级作爱片无码| 成年女人毛片免费播放人| 亚洲AV无码久久精品成人| 精品国产_亚洲人成在线| 84pao强力永久免费高清|