隔叶黄莺 The Blog of Unmi

〖隔叶黄莺三四声,挂壁飞瀑千万尘。若是人间无净土,此处为何妙语真! 隔叶黄莺四字,本非取自此句,而有寄寓他意,因见妙语,亦与予心合!〗

BlogJava 首页 新随笔 联系 聚合 管理
  229 Posts :: 86 Stories :: 560 Comments :: 0 Trackbacks
本文基本参考自 轻松实现Apache,Tomcat集群和负载均衡,经由实操经历记录而成,碰到些出入,以及个别地方依据个人的习惯,所以在一定程度上未能保持原文的完整性,还望原著者海涵。

因原文中有较多的贴图,如若各位读者一时不想亲自动手而直想看到配置效果,可查看原文。

一:软件环境
   1. Apache: apache 2.0.55 (由http://httpd.apache.org/进入下载)(点击下载apache 2.0.55)
   2. Tomcat: Tomcat 5.5.25 (由http://tomcat.apache.org/进入下载)(点击下载Tomcat 5.5.25 zip版)
   3. mod_jk: 在页面 http://tomcat.apache.org/   Download 标题下找到 Tomcat Connectors 链接进入( 点击下载mod_jk-apache-2.0.55.so),看起来像是个Unix/Linux下的动态库,实际应是个Win32 的 DLL 动态库,大概是为保持不同平台配置的一致性,才用了这个扩展名。

二:负载均衡
 用Apache进行分流,把请求按照权重以及当时负荷分tomcat1,tomcat2...去处理

1. 安装apache,tomcat
   我把Apache安装在D:\Apache Group\Apache2
  解压两分Tomcat, 分别在 D:\Apache Group\Tomcat5_1,D:\Apache Group\Tomcat5_2
   如果把不同版本的Tomcat进行集群,目录就可用Tomcat4_3(版本为4.x的第三个tomcat服务器),Tomcat6_4(版本为6.x的第三个tomcat服务器),这是Unmi本人的习惯。

2.修改Apache配置文件http.conf

   在apache安装目录下conf目录中找到http.conf,在文件最后加上下面一句话就可以了

   include conf\mod_jk.conf

3. http.conf 同目录下新建mod_jk.conf文件,内容如下

  1. #加载mod_jk Module   
  2. LoadModule jk_module modules/mod_jk-apache-2.0.55.so   
  3.   
  4. #指定 workers.properties文件路径   
  5. JkWorkersFile conf/workers.properties   
  6.   
  7. #指定那些请求交给tomcat处理,"controller"为在workers.propertise里指定的负载分配控制器   
  8. JkMount /*.jsp controller  

如果还要指定*.do也进行分流就再加一行
JkMount /*.do controller

如果你想对所有的请求进行分流只需要写成
JkMount /* controller

4. 在http.conf同目录下新建 workers.properties文件,内容如下

  1. worker.list = controller,tomcat1,tomcat2  #server 列表   
  2. #========tomcat1========   
  3. worker.tomcat1.port=8009 #ajp13 端口号,在tomcat下server.xml配置,默认8009   
  4. worker.tomcat1.host=localhost  #tomcat的主机地址,如不为本机,请填写ip地址   
  5. worker.tomcat1.type=ajp13   
  6. worker.tomcat1.lbfactor = 1   #server的加权比重,值越高,分得的请求越多   
  7.   
  8. #========tomcat2========   
  9. worker.tomcat2.port=8109       #ajp13 端口号,在tomcat下server.xml配置,默认8009   
  10. worker.tomcat2.host=localhost  #tomcat的主机地址,如不为本机,请填写ip地址   
  11. worker.tomcat2.type=ajp13   
  12. worker.tomcat2.lbfactor = 2   #server的加权比重,值越高,分得的请求越多   
  13.   
  14. #========controller,负载均衡控制器========   
  15. worker.controller.type=lb   
  16. worker.controller.balanced_workers=tomcat1,tomcat2   #指定分担请求的tomcat   
  17. worker.controller.sticky_session=1  

5. 修改tomcat配置文件server.xml
如果你是水平集群,即在不同电脑上安装tomcat,tomcat的安装数量为一个,可以不必修改tomcat配置文件.我这里是在同一台电脑上安装两个tomcat,实现的是垂直集群方式,所以必须修改其中一个的设置,以避免端口冲突,按照参考文章是把原来以9开头的端口号改为以9开头端口号,但是在我机器上如果以9开头的端口号,例如9080、9082会与我的WebSphere Application Server配置冲突,所以我这里采取的策略是把原来端口号的第三位改为1,如8080改为8180。

打开tomcat2/conf/server.xml文件

1) 将关闭Tomcat的监听端口改成由8005改为8105
即把
 <Server port="8005" shutdown="SHUTDOWN">
改为
 <Server port="8105" shutdown="SHUTDOWN">

2) 把http服务端口号由8080改为8180
找到
 <!-- Define a non-SSL HTTP/1.1 Connector on port 8080 -->
    <CONNECTOR port="8080"

把这里的8080改为8180

3) 把AJP端口号由8009改为8109
找到
 <!-- Define an AJP 1.3 Connector on port 8009 -->
    <CONNECTOR port="8009"

把这里的8009改为8109

4) 把 HTTP 代理端口从8082改为8182(这个配置默认是被注释掉的,可跳过这一步)
找到
<CONNECTOR port="8082"
把这里的8082改为8182

5) 编写一个测试 jsp
建立一个目录TestCluster,里面新建一个test.jsp,内容为

  1. <%    
  2.     System.out.println("===========================");   
  3. %>  

把TestCluster放到tomcat1,tomcat2的webapps下

6) 启动apache,tomcat1,tomcat2,进行测试
通过 http://localhost/TestCluster/test.jsp 访问,多刷新几次页面,查看Tomcat1和Tomcat2的窗口,你将可以看到打印了一行行"===========================",并且从统计上来说,大约在tomcat2打印的数量是在Tomcat1中的两倍,可以看到请求会被tomcat1,tomcat2按照不同的权重分流处理,实现了负载均衡。

作下面的集群配置,请在workers.properties把tomcat1和tomcat2的权重改为一样的,使请求较平均分配,将有便于看到实验的效果。

三:配置集群
  只配置负载均衡还不行,还要session复制,也就是说其中任何一个tomcat的添加的session,是要同步复制到其它tomcat, 集群内的tomcat都有相同的session

1. 修改tomcat1, tomcat2的server.xml,将集群部分配置,即对<Cluster>节点的在注释符删掉,并将tomcat2的4001端口改为4002,以避免与tomcat冲突,当然,如果是两台电脑,是不用改端口的,去掉注释符即可
即取消对如下处

1  <Cluster className="org.apache.catalina.cluster.tcp.SimpleTcpCluster"
2           managerClassName="org.apache.catalina.cluster.session.DeltaManager"
3           expireSessionsOnShutdown="false"
4  
5      <ClusterListener className="org.apache.catalina.cluster.session.ClusterSessionListener"/>
6  </Cluster>

前后的注释标记<!--  -->,启用该项配置,实现服务器间的Session复制。

2. 为 Tomcat1和 Tomcat2 增加 jvmRoute(先跳过这一步,有精力可以试验一下)
在 Tomcat1 和 Tomcat2 的 server.xml 文件,找到
 <ENGINE name="Catalina" defaultHost="localhost">
分别改为
 <ENGINE name="Catalina" defaultHost="localhost" jvmRoute="tomcat1">

 <ENGINE name="Catalina" defaultHost="localhost" jvmRoute="tomcat2">

然而实际我配置的时候还不能加jvmRoute属性,配置了反而有问题。
刷新浏览器窗口总是在某一个tomcat控制台输出形如

 SessionID:154678FA6D4D0ABD57658B750E7A3532.tomcat1  (在tomcat1窗口)
或者
 SessionID:3800571A532AECEA7280F45361861AD4.tomcat2  (在tomcat2窗口)

由控制台打印的结果可以看出,SessionID在哪个tomcat上产生,那么后续该会话的请求将总是会这个tomcat来处理。

并且注意到SessionID的形式比通常情况多了一个后缀.tomcat1或.tomcat2,还搞不清楚是为什么。

配置时请视实际情况而取舍。

3. 修改测试项目 TestCluster
修改test.jsp,内容如下

  1. <%@ page contentType="text/html; charset=GBK" %>  
  2. <%@ page import="java.util.*" %>  
  3. <html><head><title>Cluster App Test</title></head>  
  4. <body>  
  5. <%    
  6.    System.out.println("SessionID:"  + session.getId());   
  7. %>  
  8. Server Info:   
  9. <%   
  10. out.println(request.getServerName() + " : " + request.getServerPort()+"<br>");%>  
  11. <%   
  12.   out.println("<br> ID " + session.getId()+"<br>");  // 如果有新的 Session 属性设置   
  13.   String dataName = request.getParameter("dataName");   
  14.   if (dataName != null && dataName.length() > 0) {   
  15.      String dataValue = request.getParameter("dataValue");   
  16.      session.setAttribute(dataName, dataValue);   
  17.   }   
  18.   out.print("<b>Session 列表</b><br>");     
  19.   Enumeration e = session.getAttributeNames();   
  20.   while (e.hasMoreElements()) {   
  21.      String name = (String)e.nextElement();   
  22.      String value = session.getAttribute(name).toString();   
  23.      out.println( name + " = " + value+"<br>");   
  24.          System.out.println( name + " = " + value);   
  25.    }   
  26. %>  
  27.   <form action="test.jsp" method="POST">  
  28.     名称:<input type=text size=20 name="dataName">  
  29.      <br>  
  30.     数值:<input type=text size=20 name="dataValue">  
  31.      <br>  
  32.     <input type=submit>  
  33.    </form>  
  34. </body>  
  35. </html>  

4. 配置Session复制
在TestCluster目录下新建WEB-INF目录,WEB-INF下新建web.xml,内容如下

  1. <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">      
  2.        <display-name>TomcatClusterDemo</display-name>      
  3.        <distributable/>      
  4. <web-app>  

也就是在需要集群的应用的web.xml中加上属性,表明该应用可多应用分流处理,能进行Session的复制

把TestCluster复制到Tomcat1、Tomcat2的webapps目录下,重启apache,tomcat1,tomcat2

5. 测试Session的复制
通过 http://localhost/TestCluster/test.jsp 访问,输入名称为 name, 值为 Unmi,提交查询,多刷新几次浏览器窗口,你将会看到在两个Tomcat窗口都打印出相同的SessionID及其中的值,并且每次刷新后打印的结果都一样的。

如果不为应用的web.xml加上 ,同样测试上面那个test.jsp页面,每次刷新分流到不同的tomcat上都会产生不一样的SessionID,在同一个tomcat上也是间隔出现不同的sessionID。

更切身的体验是一定要自己动手配置一遍,并仔细观察两个tomcat的控制上的输出。因本文是参考 轻松实现Apache,Tomcat集群和负载均衡 的实践经历,该本中有较多的贴图。

后记:
用 WebSphere Application Server ND 版配置过垂直和水平集群,但是自己试验集群环境下的应用却不想搬弄这个庞然大物。眼下急于想体验的就是 Quartz 如何适应集群环境,问题的焦点就是:Quartz 定时任务随 Web 应用启动,而 Web 应用部署在集群环境中,如何保证同一时刻只有一个同名的任务实例在跑。

所以会考虑用Apache+Tomcat配置一个轻量级的WEB应用集群,一般进行HTTP分流都是使用Apache,包括WAS集群也是,很少用IIS的。虽然单纯的用Tomcat的balancer应用也能配置进行负载分流,但那个性能应该好不到哪儿去。

用Apache+Tomcat配置的Web应用集群就是部署起来麻烦些,总是要保持双份的应用拷贝,WAS集群则不需要,不知道Jboss做WEB应用集群是怎么样一种情况。

好了,下面要进行该做的事情了,最后也希望能写个工具能完成从下载到安装配置,启动,停止,重启的全自动化,以及界面的人性化。

参考资料:1. 轻松实现Apache,Tomcat集群和负载均衡
          2. apache+tomcat集群实践(与上面方法有些异样的配置方式) 
          3. Tomcat集群与负载均衡(关于集群与负载均衡的解释)
          4. 怎样配制集群/Session复制(Tomcat5自带文档的中文翻译)
          5. 怎样配置负载均衡(Tomcat5自带文档的中文翻译)




[版权声明]
本站内文章,如未标注 [转载],均系原创或翻译之作,本人 Unmi 保留一切权利。本站原创及译作未经本人许可,不得用于商业用途及传统媒体。网络媒体可随意转载,或以此为基础进行演译,但务必以链接形式注明原始出处和作者信息,否则属于侵权行为。另对本站转载他处文章,俱有说明,如有侵权请联系本人,本人将会在第一时间删除侵权文章。及此说明,重之之重。
posted on 2007-09-18 23:33 隔叶黄莺 阅读(1799) 评论(31)  编辑  收藏 所属分类: Mid-Ware

Feedback

# re: [导入]结合Apache和Tomcat实现集群和负载均衡 2007-09-19 09:33 star
是否可以在linux上实现?  回复  更多评论
  

# re: [导入]结合Apache和Tomcat实现集群和负载均衡 2007-09-19 09:41 Unmi
当然可以,apache和jk要下载Linux版的,Tomcat是纯Java实现,没分平台,其他配置是一样的。  回复  更多评论
  

# re: [导入]结合Apache和Tomcat实现集群和负载均衡 2007-09-19 12:02 千里冰封
太牛了,负载最大可以到多大呢?  回复  更多评论
  

# re: [导入]结合Apache和Tomcat实现集群和负载均衡 2007-09-19 12:46 Unmi
可以用LoadRunner做一个压力测试实验,如果集群中的Tomcat太多了也应该有些问题,Session多时可能会产生内存复制的一个风暴。五个Tomat以内可以。Tomcat做集群后肯定要比单个Tomcat处理性能要好很多,不过从原来实际做的实验来看,Tomcat即使做了集群,可能还是比不过像WebSphere Application Server那样的商业应用服务器。听说Google能支持的并发用户70个。  回复  更多评论
  

# re: [导入]结合Apache和Tomcat实现集群和负载均衡 2007-09-19 22:06 海边沫沫
收藏  回复  更多评论
  

# re: [导入]结合Apache和Tomcat实现集群和负载均衡 2007-09-19 23:06 haojunq
这个太麻烦 apache2.0.4(?)后面的版本重写了 mod_proxy 用它作负载均衡 特别简单 就是几句话的事情 而且tomcat也不需要怎么配置  回复  更多评论
  

# re: [导入]结合Apache和Tomcat实现集群和负载均衡[未登录] 2007-09-19 23:34 Unmi
apache2.0.4 我还没试过,apache 2.0.55+tomcat5.5.25确是较容易,我只知道用的JK2+AJP1.3, 不再用JK1和AJP1.2了  回复  更多评论
  

# re: 结合Apache和Tomcat实现集群和负载均衡 2007-11-28 21:57 小罗
对比原文,你写的更专业
更清晰,更精练了!!

你做的太好了

ps:我是原文作者  回复  更多评论
  

# re: 结合Apache和Tomcat实现集群和负载均衡 2007-11-28 22:01 小罗
对于任务调度Quartz
我认为,应该于业务系统分开
以避免集群环境下的混乱

而且,任务调度系统分开后,更便于管理(当机了,调度失败了。。。升级了。。。压力过大了。。。。)

  回复  更多评论
  

# re: 结合Apache和Tomcat实现集群和负载均衡 2007-11-28 23:19 隔叶黄莺
hello,小罗,我也是 “剽窃” 了一把,不过也不是简单的Copy/Paste,实践进而梳理了一下。

你说的对,我现在使用的Quartz是在控制台下单独启动的,未用集群,感觉那种集群方式并不完美,会有很多难以处理的问题。Quartz结合RMI来使用,通过Quartz启动的RMI服务来管理工作任务的。

所以后来也停止了进行集群中Quartz跟同应用服务器启动的研究。  回复  更多评论
  

# re: 结合Apache和Tomcat实现集群和负载均衡 2007-11-30 11:52 zhaoxiujuan
我按照您的步骤配置,只实现了负载均衡,集群、SESSION复制出现了问题!  回复  更多评论
  

# re: 结合Apache和Tomcat实现集群和负载均衡 2007-11-30 12:21 隔叶黄莺
web.xml中加上<distributable/> 就能进行session复制了  回复  更多评论
  

# re: 结合Apache和Tomcat实现集群和负载均衡 2007-11-30 12:57 zhaoxiujuan
我在web.xml中加上<distributable/>了啊!不是那的问题吧!
  回复  更多评论
  

# 请教前辈 2008-05-14 18:48 liue
首先谢谢你的文章给我提供解决服务器压力的方案。

我在配置的过程中,遇到负载均衡问题,诚望给我一些建议。
我的环境:windows2003 server,apache2.2.4,mod_jk 2.2.4,tomcat5.0.28
结点结构:apache与tomcat1部署在服务器APP1,tomcat2部署在服务器APP2。
我的问题:负载均衡一直失败。即我在一台应用上发送的请求,apache始终不能将其分发到另外一台服务器上。

为了这个问题我已经做了快一个星期,诚望得到您的帮助。有扰了!

我的邮箱:enliu2001@163.com,QQ:15023093  回复  更多评论
  

# re: 结合Apache和Tomcat实现集群和负载均衡 2008-05-14 21:16 隔叶黄莺
如果你的tomcat是分放在两台物理机器上的,那么端口号都可以不用改

请问一下,部署在 Tomcat 中的应用,你分别可以通过什么 URL 来访问

以及你想通过 Apache 来转发的话是用的什么 URL

确保 workers.properties 和 mod_jk 文件的位置正确

最后还有种检查 apache 是否作了转发的方法就是用 netstat 命令看请求是否到了相应的端口上。  回复  更多评论
  

# re: 结合Apache和Tomcat实现集群和负载均衡 2008-05-15 09:51 liue
你好!

在你的提示下问题解决了!
我犯了一个不可原谅的错误,我的apache转发URL错误 = =||||巨汗 - -

多谢前辈提醒!希望跟我一样的初学者不要犯我这样低级的错误了!再次感谢前辈!  回复  更多评论
  

# re: 结合Apache和Tomcat实现集群和负载均衡 2008-05-25 17:50 soon
你好!
我是一台linux203安装apache、另外2台205、206机器分别安装tomcat,但是安装好之后用http://192.168.30.205:8080/XX/test.jsp,http://192.168.30.206:8080/XX/test.jsp打开页面均显示正常,用http://192.168.30.203/XX/test.jsp却无法打开,请问该如何解决?
我的环境:CentOS5.0
tomcat-5.0.28+httpd-2.0.54+jakarta-tomcat-connectors-jk-1.2.6-src

谢谢
email:mars_206@163.com

  回复  更多评论
  

# re: 结合Apache和Tomcat实现集群和负载均衡 2008-05-25 19:13 隔叶黄莺
@soon
connectors 应该是一个 .so 文件,不是 jakarta-tomcat-connectors-jk-1.2.6-src

我不知道你用的是什么,现像来看就是 apache 不能正确转发请求。

看看你 mod_jk.conf 和 workers.properties 文件的配置内容  回复  更多评论
  

# re: 结合Apache和Tomcat实现集群和负载均衡 2008-05-26 08:43 soon
workers.properties:

worker.list=loadbalancer,jkstatus

#
# Defining a worker named tomcat1 and of type ajp13
# Note that the name and the type do not have to match.
#

# host of tomcat machines
worker.tomcat1.host=192.168.30.206
worker.tomcat2.host=192.168.30.205

# lbfactor for web
worker.tomcat1.lbfactor=1
worker.tomcat2.lbfactor=1

#tomcat1
worker.tomcat1.type=ajp13
worker.tomcat1.port=8009
worker.tomcat1.cachesize=10
worker.tomcat1.cache_timeout=600
worker.tomcat1.socket_keepalive=1
worker.tomcat1.reclycle_timeout=300

#tomcat2
worker.tomcat2.type=ajp13
worker.tomcat2.port=8009
worker.tomcat2.cachesize=10
worker.tomcat2.cache_timeout=600
worker.tomcat2.socket_keepalive=1
worker.tomcat2.reclycle_timeout=300

mod_jk.conf:
#include conf/mod_jk.conf
LoadModule jk_module modules/mod_jk.so

# Where to find workers.properties
JkWorkersFile conf/workers.properties

# Where to put jk logs
JkLogFile logs/mod_jk.log

# Set the jk log level [debug/error/info]
JkLogLevel info

# Select the log format
JkLogStampFormat "[%a %b %d %H:%M:%S %Y] "

# JkOptions indicate to send SSL KEY SIZE,
JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories

# JkRequestLogFormat set the request format
JkRequestLogFormat "%w %V %T"

# JkMountFile is a new directive available from JK 1.2.9 version.
#It is used for dynamic updates of mount points at runtime.

#指定那些请求交给tomcat处理,"controller"为在workers.propertise里指定的负载分配控制器
#JkMount /* controller

只是我把mod_jk.conf中的内容直接写到httpd.conf的最后面了。  回复  更多评论
  

# re: 结合Apache和Tomcat实现集群和负载均衡 2008-05-26 17:47 隔叶黄莺
看这个
worker.list = controller,tomcat1,tomcat2 #server 列表

你的集群成员要列在 worker.list 中才能转发过去  回复  更多评论
  

# re: 结合Apache和Tomcat实现集群和负载均衡 2008-05-27 11:23 soon
@隔叶黄莺
现在在work.list中已经加上去了,但是还是用192.168.30.203/XX/test.jsp打开205跟206上相关的项目。
由于我在XX/目录下添加WEB-INF后,IE会提示找不到路径,所以我在自己用的项目中的web.xml中的</web-app>前直接添加了<distributable/> ,用205、206上的8080端口打开显示正常,但是仍然无法用203的80端口打开。

另:由于所有的配置均是在linux(CentOS5.0)机器上配置,是否需要配置方面做特殊配置?

另外在配置集群时还参考了http://blog.chinaunix.net/u1/50766/showart_401206.html
上面的文章

QQ:63152319
Email:mars_206@163.com

  回复  更多评论
  

# re: 结合Apache和Tomcat实现集群和负载均衡 2008-05-27 11:24 soon
@soon
对不起,少写了一个字,“但是还是用192.168.30.203/XX/test.jsp打不开205跟206上相关的项目”,也就是没有转发  回复  更多评论
  

# re: 结合Apache和Tomcat实现集群和负载均衡 2008-05-27 12:22 隔叶黄莺
在 Linux 下的配置也没什么两样的,只是你下载的 so 文件要相应平台的。

现在你抢险救灾的首要任各也是尽快打通 203:80 到 205:8080 或 206:8080 的道路。先试着成功转发到一台机器吧,然后再加集群成员。  回复  更多评论
  

# re: 结合Apache和Tomcat实现集群和负载均衡 2008-05-27 13:47 soon
你好,为了找出配置配置方面的原因,我重新在自己PC上按照你的说明进行了操作,结果到
“6. 启动apache,tomcat1,tomcat2,进行测试
通过 http://localhost/TestCluster/test.jsp 访问,”
这个地方就无法进行下去了,IE打开该url后显示如下内容:

Service Temporarily Unavailable
The server is temporarily unable to service your request due to maintenance downtime or capacity problems. Please try again later.


--------------------------------------------------------------

Apache/2.0.55 (Win32) mod_jk/1.2.15 Server at localhost Port 80

菜鸟问题,麻烦帮忙确定下原因  回复  更多评论
  

# re: 结合Apache和Tomcat实现集群和负载均衡 2008-05-27 14:03 soon
@soon
应该是连接限制方面的问题,就是不知道在windows该修改哪个配置?linux下的httpd.conf中有个MaxClients 可以修改最大连接数,在windows下的找不到类似的配置项  回复  更多评论
  

# re: 结合Apache和Tomcat实现集群和负载均衡 2008-05-27 18:57 隔叶黄莺
MaxClients 默认值用于你测试不会有问题,实际多用户并发访问时,这个参数调大些,不妨你还是先照我上面描述的方法,让请求能正常分发给各个 Tomcat。  回复  更多评论
  

# re: 结合Apache和Tomcat实现集群和负载均衡 2008-05-28 14:40 soon
现在是出现如下错误,苦闷中~~~~
Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.

Please contact the server administrator, you@example.com and inform them of the time the error occurred, and anything you might have done that may have caused the error.

More information about this error may be available in the server error log.
  回复  更多评论
  

# re: 结合Apache和Tomcat实现集群和负载均衡 2008-05-28 15:23 隔叶黄莺
查看日志文件 logs/error.log 中错误信息吧  回复  更多评论
  

# re: 结合Apache和Tomcat实现集群和负载均衡 2008-05-28 15:50 soon
终于搞定了,存在2个问题
1、jk文件apache相应版本有冲突,更换后解决;
2.tomcat下面的server.xml文件中引擎用默认的即可

再次感谢前辈~本人是java菜鸟,只是工作有任务需要做一个tomcat集群,测试公司项目的负载性能,以后多加学习java~!

再次谢谢!  回复  更多评论
  

# re: 结合Apache和Tomcat实现集群和负载均衡 2008-05-28 16:14 隔叶黄莺
你还需要好好理解一下,各个部件的功能,

JK 下载的时候有说会对的 Apache 版本,要匹配
server.xml 如果分布在不同机器,不存在端口冲突就可以不用去改

先完全按照我介绍的做法,体验了就可以再尝试新的版本。  回复  更多评论
  

# re: 结合Apache和Tomcat实现集群和负载均衡 2008-05-28 17:41 soon
呵呵,铭记在心~
我以前没接触国java,呵呵,谢谢哦
  回复  更多评论
  




标题  
姓名  
主页
验证码 *  
内容(请不要发表任何与政治相关的内容)  
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
该文被作者在 2008-05-28 19:18 编辑过