由于目前有两个比较大点的项目,考虑如果放在一个TOMCAT下,会相互影响,如果有一个项目没有做好,TOMCAT挂了,会影响另外一个项目.为了不出现这种情况,考虑一个TOMCAT管一个项目,在网上找了一下这方面的资料,很多都是一样的,总有点不放心,不知道哪位大侠配置过这样的东西,能否分享一下.在线等.

解决方案 »

  1.   

    此回复为自动发出,仅用于显示而已,并无任何其他特殊作用
    楼主【chjx1982】截止到2008-07-28 11:17:30的历史汇总数据(不包括此帖):
    发帖的总数量:92                       发帖的总分数:2720                     每贴平均分数:29                       
    回帖的总数量:684                      得分贴总数量:230                      回帖的得分率:33%                      
    结贴的总数量:92                       结贴的总分数:2720                     
    无满意结贴数:28                       无满意结贴分:705                      
    未结的帖子数:0                        未结的总分数:0                        
    结贴的百分比:100.00%               结分的百分比:100.00%                  
    无满意结贴率:30.43 %               无满意结分率:25.92 %                  
    敬礼!
      

  2.   

    http://www.java2000.net/p6586我亲自尝试的结果,用Apache做前端
      

  3.   

    参考:tomcat安装路径\webapps\docs\cluster-howto.html
      

  4.   

    很典型也很简单的Apache+Tomcat负载均衡和集群问题.参考apache官方文档.
      

  5.   

    可能是要求新一点的吧,我的是tomcat4,结果刚才觅了半天,硬是没有cluster这个howto
    可能是还没有开放这个功能在4 的时候
      

  6.   

    D:\Apache Software Foundation\Tomcat 5.5\webapps\tomcat-docs\cluster-howto.html
      

  7.   

    顶一下 只用tomcat做过负载均衡
      

  8.   

    1个apache集群8个tomcat即使有一个工程出现问题,也不会影响其他的tomcat,也不会影响客户不知道你的问题在哪里
      

  9.   

    你就用1apache集群N个tomcat 这样有问题吗?再说在工程间是互不影响的用一个软连接到工程目录,启动tomcat apache不会有任何问题
      

  10.   

    一个项目放一个tomcat,那就用不到集群如果做集群,可以使用硬件和软件,象你这样的,硬件太昂贵,可以配置纯软件的。复杂一点的可以参考lvs,简单的就是配置session复制。
      

  11.   

    我现在的情况是,我做了个项目,以后在线的人可能比较多,怕对另外一个项目有影响,所以想一个TOMCAT管一个项目,让他们互不影响,这种情况需要什么配置呢,不是集群吗?
      

  12.   

    1个apache集群N个tomcat,怎么集群,我就是问这个问题。
      

  13.   

    网上很多配置,google一下一大把的,很难找吗??? 不会吧
      

  14.   


    两个应用如果都很重要,的确应该放两个Tomcat. 集成的方法很多, 如前面前置apache, 也可以直接使用路由器的功能. 
      

  15.   

    这是我在网上看得,我要的就是这个.但是学着它配了,第二TOMCAT就是不出来.不知道哪错了.请各位大合侠帮俺看看.网络上有好多关于 Tomcat 集群配置的文章,但有些是以 Tomcat 4 为基础的,有的并不是讲的很清楚,自己摸索了半天,试验成功了,现把简要过程写出来,让你在几分钟内体验一下 Tomcat Cluster 。
    一、配置环境
    下载和安装 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 复制的结果。