<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 :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

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

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

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

    目標:

    使用 apache 和 tomcat 配置一個可以應(yīng)用的 web 網(wǎng)站,要達到以下要求:

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

    2、  為系統(tǒng)設(shè)定 Session 超時時間,包括 Apache 和 tomcat

    3、  為系統(tǒng)屏蔽文件列表,包括 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集群服務(wù)器\)下。分別為 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的功能。只需簡單的把下面幾行去掉注釋,就相當(dāng)于以前用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設(shè)置

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

    首先要修改 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>

    其中的域名和路徑根據(jù)你自己情況設(shè)置

    然后再設(shè)置TOMCAT虛擬主機

    2 配置 tomcat

    2.1.  配置 server 的關(guān)閉

    我們需要在一臺機器上跑 4 個不同的 tomcat ,需要修改不同的 tomcat 的關(guān)閉口,避免出現(xiàn)端口被占用的情況。其中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鏈接的關(guān)鍵,前臺apache就是通過AJP協(xié)議與tomcat進行通信的,以完成負載均衡的作用。也可以用HTTP協(xié)議。大家注意它們是如何連接通信的,上面的紅色部分(port="8009")就是連接的接口了。

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

    <proxy balancer://cluster>

         #與tomcat6.0對應(yīng),route與<Engine jvmRoute="jvm1">對應(yīng)。

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

    #與tomcat6.01對應(yīng),route與<Engine jvmRoute="jvm2">對應(yīng)。

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

    #與tomcat6.02對應(yīng),route與<Engine jvmRoute="jvm3">對應(yīng)。

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

    #與tomcat6.03對應(yīng),route與<Engine jvmRoute="jvm4">對應(yīng)。

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

    </proxy>

    中的端口對應(yīng),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>

    這個設(shè)置是主要用以tomcat的集群。

    四、啟動服務(wù),測試tomcat自帶的例子

    1、測試apache和tomcat協(xié)作。

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

    <%

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

    %>

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

    然后再通過分別訪問

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

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

    2、測試均衡器

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

    3、測試Session復(fù)制

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

    測試步驟如下:

    關(guān)閉tomcat1和tomcat2;

    啟動tomcat1

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

    啟動tomcat2;

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

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

    啟動tomcat1;

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

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

    主站蜘蛛池模板: 成年人视频免费在线观看| 亚洲AV日韩AV一区二区三曲| 久久精品国产精品亚洲毛片| a级毛片在线免费| 台湾一级毛片永久免费| 国产一级淫片a免费播放口| a级毛片免费观看网站| 亚洲成a人片在线观看国产| 国产午夜影视大全免费观看 | 青青青亚洲精品国产| 白白国产永久免费视频| 亚洲av无码专区国产不乱码| 国产一区在线观看免费| caoporn成人免费公开| 亚洲AV第一页国产精品| 日韩亚洲人成网站| 精品国产免费人成电影在线观看| 免费在线观看黄网站| 亚洲成人免费网址| 一个人看的在线免费视频| 亚洲精品无码久久久影院相关影片 | 亚洲午夜无码久久久久小说 | 亚洲成人在线免费观看| 亚洲自国产拍揄拍| 黄网站免费在线观看| 亚洲另类古典武侠| 国产免费拔擦拔擦8x| 黄色网站软件app在线观看免费| 国产成人精品免费视频大全五级 | 亚洲日本一区二区三区| 三上悠亚在线观看免费| 免费在线观看亚洲| 99久久免费国产精精品| 亚洲国产高清在线精品一区| 在线观看免费亚洲| a级成人免费毛片完整版| 中文字幕 亚洲 有码 在线 | 国产亚洲日韩在线三区| 人禽伦免费交视频播放| 亚洲麻豆精品果冻传媒| 一级成人a毛片免费播放|