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

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

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

    安靜的等待

    茹呲綄鎂
    posts - 51, comments - 9, trackbacks - 0, articles - 0
      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

    Tomcat5.5集群配置

    Posted on 2007-08-09 17:23 ricki 閱讀(417) 評論(0)  編輯  收藏 所屬分類: 負載均衡配置
    一、配置環境

    下載和安裝 JRE 1.5 最新版 (1.5.06)
    下載和安裝 Tomcat 最新版 (5.5.12),假定安裝目錄為 C:\Program Files\Apache Software Foundation\Tomcat 5.5
    二、使 Tomcat 集群配置生效

    修改 Tomcat 安裝目錄\conf\server.xml ,把 Server/Service/Engine/Host 下的 Cluster 結點前后的注釋符(<!-- 和 -->)刪除,并保存
    三、配置第二個 Tomcat 實例

    在 C:\Program Files\Apache Software Foundation\ 下新建目錄 Tomcat 5.5 Instance1
    將 C:\Program Files\Apache Software Foundation\Tomcat 5.5 目錄下的全部內容復制到 C:\Program Files\Apache Software Foundation\Tomcat 5.5 Instance1
    修改新實例的服務器配置文件 (C:\Program Files\Apache Software Foundation\Tomcat 5.5 Instance1\conf\server.xml),把其中的 Server/Service/Connector 的端口更改,以避免和第一個沖突(8080 -> 9080,8009 -> 9009,8443 -> 9443)
    修改 Cluster/Receiver 結點的 tcpListenPort 端口(此端口用于 Session 復制),以避免和第一個沖突(4001 -> 4002)
    注:Tomcat Cluster 默認使用多播來建立成員關系,即兩個實例的多播的地址和端口一樣,就可以互相認為是同一個 Cluster 的成員。

    四、啟動驗證兩個 Tomcat 實例能否正常工作

    直接用程序菜單里的 Monitor Tomcat 來啟動第一個實例(或在服務器里啟動)
    第二個實例啟動稍微麻煩一些,在 C:\Program Files\Apache Software Foundation\Tomcat 5.5 Instance1\Bin 下建一個 startup.bat ,用如下 java 命令來啟動:
    "C:\Program Files\Java\j實re1.5.0_06\bin\java.exe" -jar .\bootstrap.jar -Dcatalina.home="C:\Program Files\Apache Software Foundation\Tomcat 5.5 Instance1" -Dcatalina.base="C:\Program Files\Apache Software Foundation\Tomcat 5.5 Instance1" -Djava.endorsed.dirs="C:\Program Files\Apache Software Foundation\Tomcat 5.5\common\endorsed" -Djava.io.tmpdir="C:\Program Files\Apache Software Foundation\Tomcat 5.5 Instance1\temp" -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.util.logging.config.file="C:\Program Files\Apache Software Foundation\Tomcat 5.5 Instance1\conf\logging.properties" start

    看起來挺長,其實主要是第二個實例的安裝目錄太長的緣故,直接執行此批處理就可以啟動第二個實例,如果配置正確,應該可以看到集群管理器啟動,并和第一個實例   建立成員關系的信息。

    五、寫一個簡單Web應用,能顯示和設置 Session 屬性值,以供測試

    如果有開發工具,新建一個 Web App ,假設為 TomcatDemo
    新增 index.jsp ,加入如下代碼:
    <%@ page contentType="text/html; charset=UTF-8" import="java.util.*"%>
    <html><head><title>Cluster App Test</title></head>
    <body>
    Server Info: <%out.print(request.getLocalAddr() + " : " + request.getLocalPort());%>
    <%
    out.println("<br> ID " + session.getId());

    // 如果有新的 Session 屬性設置
    String dataName = request.getParameter("dataName");
    if (dataName != null && dataName.length() > 0) {
      String dataValue = request.getParameter("dataValue");
      session.setAttribute(dataName, dataValue);
    }

    out.print("<b>Session 列表</b>");

    Enumeration e = session.getAttributeNames();
    while (e.hasMoreElements()) {
      String name = (String)e.nextElement();
      String value = session.getAttribute(name).toString();
      out.println( name + " = " + value);
      }
    %>
    <form action="index.jsp" method="POST">
      名稱:<input type=text size=20 name="dataName">
      <br>
      值:<input type=text size=20 name="dataValue">
      <br>
      <input type=submit>
      </form>
    </body>
    </html>


    以上代碼主要是顯示服務器信息和 Session 值,并包含一個 Form ,可以隨時新建一個 Session 屬性值

    修改此用應用的 Web.xml ,加入 distributable 屬性,表示 Tomcat 要為此 Web 應用復制 Session  
    <web-app xmlns="
    http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" version="2.4">
        <display-name>TomcatDemo</display-name>
        <distributable/>
    </web-app>

    將應用打包成 WAR 文件,分別上現兩個實例的 Tomcat Manager 來部署
    (如果沒有 Java 開發工具,可以直接建立一個 TomcatDemo 的目錄,用 Notepad 將如上的內容復制并保存成 index.jsp,然后在此目錄下新建子目錄 WEB-INF,再用 Notepad 新建一 Web.xml 文件,將上面的代碼復制保存,然后將此目錄壓縮成 Zip 文件,再把后綴改成 .war ,或利用 jar 命令來創建 .war 文件)

    六、測試 Tomcat 集群和 Session 復制的是否工作

    在 IE 中打開第一個實例中的 TomcatDemo (
    http://localhost:8080/TomcatDemo),在 Form 里隨便設置一個 Session 屬性,如 MyName = foo
    將 IE 地址欄中的地址修改為第二個實例中的 TomcatDemo(
    http://localhost:9080/TomcatDemo),刷新,就可以看到注意到 SessionID 不變, MyName 的屬性值已有了
    同樣,如果在第二實例中設置的值,在第一個實例的頁面中也能看到
    注意:必須在同一個 IE 窗口中進行如上測試,以保證是同一個 Session ,如果是兩個窗口,則 Session 可能不同,也互相看不到 Session 復制的結果。

    七、其它工作

    上述只實現了 Session 復制,而沒有實現 Load Balance(負載均衡),這可以利用 Apache 等來實現。
    主站蜘蛛池模板: 四虎国产精品免费久久影院| 女人被免费视频网站| 国产亚洲AV夜间福利香蕉149| 大地资源在线观看免费高清| 免费国产高清视频| 色欲aⅴ亚洲情无码AV| 国产一精品一aⅴ一免费| 蜜桃传媒一区二区亚洲AV| 一区二区三区在线免费看| 日本无吗免费一二区| 亚洲精品永久在线观看| 国产高清免费观看| 亚洲成人黄色网址| 三年片免费高清版| 亚洲AV日韩AV永久无码下载| 久久成人免费电影| 最新国产AV无码专区亚洲| 你懂的免费在线观看| 久久亚洲精品成人AV| 免费无码又爽又刺激网站直播| 在线A级毛片无码免费真人| 久久久久亚洲国产AV麻豆| 亚洲?v无码国产在丝袜线观看| 亚洲国产成人精品无码区在线秒播 | 亚洲成A人片77777国产| 亚洲高清中文字幕免费| 亚洲电影免费观看| 婷婷精品国产亚洲AV麻豆不片| 999久久久免费精品播放| 久久青青草原亚洲AV无码麻豆| 又大又硬又粗又黄的视频免费看| 日韩在线免费看网站| www一区二区www免费| 亚洲精品A在线观看| 又硬又粗又长又爽免费看 | 国产成人人综合亚洲欧美丁香花 | 亚洲国产欧美日韩精品一区二区三区 | 国产成人免费永久播放视频平台| 久久免费视频一区| 亚洲国产精品日韩在线观看| 免费v片在线观看品善网|