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

    Tomcat5.5集群配置

    Posted on 2007-08-09 17:23 ricki 閱讀(426) 評(píng)論(0)  編輯  收藏 所屬分類: 負(fù)載均衡配置
    一、配置環(huán)境

    下載和安裝 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 結(jié)點(diǎn)前后的注釋符(<!-- 和 -->)刪除,并保存
    三、配置第二個(gè) Tomcat 實(shí)例

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

    四、啟動(dòng)驗(yàn)證兩個(gè) Tomcat 實(shí)例能否正常工作

    直接用程序菜單里的 Monitor Tomcat 來(lái)啟動(dòng)第一個(gè)實(shí)例(或在服務(wù)器里啟動(dòng))
    第二個(gè)實(shí)例啟動(dòng)稍微麻煩一些,在 C:\Program Files\Apache Software Foundation\Tomcat 5.5 Instance1\Bin 下建一個(gè) startup.bat ,用如下 java 命令來(lái)啟動(dòng):
    "C:\Program Files\Java\j實(shí)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

    看起來(lái)挺長(zhǎng),其實(shí)主要是第二個(gè)實(shí)例的安裝目錄太長(zhǎng)的緣故,直接執(zhí)行此批處理就可以啟動(dòng)第二個(gè)實(shí)例,如果配置正確,應(yīng)該可以看到集群管理器啟動(dòng),并和第一個(gè)實(shí)例   建立成員關(guān)系的信息。

    五、寫(xiě)一個(gè)簡(jiǎn)單Web應(yīng)用,能顯示和設(shè)置 Session 屬性值,以供測(cè)試

    如果有開(kāi)發(fā)工具,新建一個(gè) Web App ,假設(shè)為 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 屬性設(shè)置
    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>


    以上代碼主要是顯示服務(wù)器信息和 Session 值,并包含一個(gè) Form ,可以隨時(shí)新建一個(gè) Session 屬性值

    修改此用應(yīng)用的 Web.xml ,加入 distributable 屬性,表示 Tomcat 要為此 Web 應(yīng)用復(fù)制 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>

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

    六、測(cè)試 Tomcat 集群和 Session 復(fù)制的是否工作

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

    七、其它工作

    上述只實(shí)現(xiàn)了 Session 復(fù)制,而沒(méi)有實(shí)現(xiàn) Load Balance(負(fù)載均衡),這可以利用 Apache 等來(lái)實(shí)現(xiàn)。

    只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 国产成人免费视频| 亚洲AV无码AV日韩AV网站| 亚洲女同成av人片在线观看| 亚洲线精品一区二区三区 | 亚洲精品在线播放| 国产成人精品日本亚洲专| 亚洲色精品VR一区区三区 | 9i9精品国产免费久久| 久久国产乱子伦免费精品| 免费无码又黄又爽又刺激| 亚洲精品无码久久久| 久久亚洲AV成人无码| 污网站在线免费观看| 免费成人激情视频| 国产亚洲成归v人片在线观看| www.亚洲日本| 日韩a级毛片免费观看| 亚洲成AV人在线播放无码 | 国产乱辈通伦影片在线播放亚洲 | 国产色爽免费视频| 亚洲精品国产成人中文| 国产精品免费观看久久| 看免费毛片天天看| 99久久久国产精品免费无卡顿| 精品亚洲成α人无码成α在线观看 | 免费无码AV片在线观看软件| 亚洲av无码专区在线观看下载| 亚洲第一区精品观看| 亚洲日韩国产欧美一区二区三区| 无码人妻一区二区三区免费看 | 亚洲精品国产福利片| 国外成人免费高清激情视频| 亚洲日本va午夜中文字幕一区| 一级毛片试看60分钟免费播放| 免费观看男人免费桶女人视频| 亚洲三级在线免费观看| 免费成人激情视频| 一级毛片免费观看不收费| 少妇中文字幕乱码亚洲影视| 国产精品免费看久久久| 亚洲中文字幕一区精品自拍|