所需软件环境:
Apache2.2:http://archive.apache.org/dist/httpd/binaries/win32/
Tomcat5以上:http://apache.freelamp.com/tomcat/tomcat-5/v5.5.28/bin
JK2 1.2:http://labs.xiaonei.com/apache-mirror/tomcat/tomcat-connectors/jk/binaries/
jkd 1.5以上
端口设置
Apache 80
Tomcat1 8005 8080 8443 8009
Tomcat2 8006 8081 8444 8010
Apache配置
1 修改配置文件httpd.conf
把jk2文件mod_jk.so复制到apache目录modules下。
在httpd.conf文件里添加以下几行
LoadModule jk_module modules/mod_jk.so
JkWorkersFile conf/workers.properties
JkMountFile conf/urimap.properties
2 增加配置文件workers.properties
在apache目录conf创建两个文件workers.properties,内容如下
worker.list=router #配置请求处理server 这里可以配置多个server
参考:http://wenku.baidu.com/view/5a135db91a37f111f1855b7a.html
# Define the LB worker
worker.router.type=lb
worker.router.balance_workers=tomcat1,tomcat2 #指定分担请求的server列表,用逗号分隔
#设置用于负载均衡的server的session可否共享这里如果设置为0在复制session的时候tomcat会报错,但可以进行复制,如果设置为1就没有错误
worker.router.sticky_session=1
# Define 1 real tomcat using ajp13
worker.tomcat1.type=ajp13
worker.tomcat1.host=localhost
worker.tomcat1.port=8009
worker.tomcat1.lbfactor=1
# Define another tomcat using ajp13
worker.tomcat2.type=ajp13
worker.tomcat2.host=localhost
worker.tomcat2.port=8010
worker.tomcat2.lbfactor=1
3 增加配置文件urimap.properties
在apache目录conf创建两个文件workers.properties,内容如下
/*.jsp=router #表示所有的jsp文件都由router这个server处理
/*/servlet/*=router
/cluster/*=router
!/*.gif=router #所有以.gif结尾的请求都不由controller这个server处理
这里的"!”类似于java中的"!”,是“非”的意思
把tomcat应用程序的访问URI匹配到jk2的工作条目router。
Tomcat1配置
1 修改配置文件server.xml
<Engine name="Catalina" defaultHost="localhost" jvmRoute="tomcat1">
jvmRoute值要与workers.properties文件中定义的条目worker.tomcat1保持一致。
Tomcat2配置
1 修改配置文件server.xml
<Server port="8006" shutdown="SHUTDOWN">
<Connector port="8081" maxHttpHeaderSize="8192"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8444" acceptCount="100"
connectionTimeout="20000" disableUploadTimeout="true" />
<Connector port="8010"
enableLookups="false" redirectPort="8444" protocol="AJP/1.3" />
上面标注红色的端口值不能与Tomcat1相同,在同一个IP环境中需要保持唯一。
<Engine name="Catalina" defaultHost="localhost" jvmRoute="tomcat2">
jvmRoute值要与workers.properties文件中定义的条目worker.tomcat2保持一致。
测试
在两个Tomcat里发布测试应用程序cluster,含有一个index.jsp。
在IE地址栏输入http://localhost/cluster/index.jsp,页面显示为
tomcat1
另外打开IE地址栏输入http://localhost/cluster/index.jsp,页面显示为
tomcat2
----------------------------------------------------------------------------
以上tomcat群集基本配置成功
注意在配置错误恢复 session复制的时候别忘了给web.xml中添加<distributable/>节点
有些还在httpd.conf中配置了mod_jk
### 配置 mod_jk
JkWorkersFile conf/workers.properties #加载集群中的workers
JkMountFile conf/uriworkermap.properties #加载workers的请求处理分配文件
JkLogFile logs/mod_jk.log #指定jk的日志输出文件
JkLogLevel warn #指定日志级别
配置参数 端口
Server Port 8005
Connector 8080
Coyote/JK2 AJP Connector 8009
Cluster mcastAddr 228.0.0.4
Cluster mcastPort 45564
tcpListenAddress 本机IP地址
Cluster tcpListenPort 4001
Mcast* 用于广播,所有群集服务器需要填写相同的配置
tcpListen* 本机的IP,群集服务器启动时,会将自己的IP和端口号广播出去,其他群集服务器收到后,响应广播发出者。
参考:
http://www.blogjava.net/gdufo/archive/2012/06/02/379786.html
分享到:
相关推荐
tomcat集群实现session复制tomcat集群实现session复制tomcat集群实现session复制tomcat集群实现session复制tomcat集群实现session复制tomcat集群实现session复制tomcat集群实现session复制tomcat集群实现session复制...
Apache+Tomcat集群配置,Apache+Tomcat集群配置,Apache+Tomcat集群配置
Apache+Tomcat集群配置详解 把Apache安装为运行在80端口的Windows服务,安装成功后在系统服务列表中可以看到Apache2.2服务。对于已安装IIS的机器,在启动Apache服务之前必须首先停止IIS Admin服务,不然会因为端口...
linux配置Tomcat集群
轻松配置linux Tomcat集群 轻松配置linux Tomcat集群 PDF
tomcat集群基于redis共享session使用到的所有jar包,放到tomcat的lib下即可使用 apache-tomcat-7.0.56+nginx-1.8.0+redis-3.0.6集群部署所需JAR包,session共享 tomcat-redis-session-manager1.2.jar jedis-2.6.2....
tomcat集群所以的配置文件
tomcat集群session共享问题解决方案,以及应用到的相关资料
tomcat集群_负载平衡
tomcat集群配置 程序以及文档 所有东西都在,有现成的例子
apache,tomcat集群优化详细配置
tomcat 集群 部署 ,不错了,很全,已经部署过了,可以使用
ApacheTomcat集群部署配置整合方案
tomcat集群搭建必备 readis必备jar包 目前只支持tomcat7
Apache+Tomcat集群,本文Apache+Tomcat集群配置 基于最新的Apache和Tomcat,具体是2011年4月20日最新的Tomcat和Apache集群和负载均衡配置。
apache2.2和tomcat6.0集群配置,Apache和Tomcat集群配置步骤。
详细描述了如何配置apache+tomcat集群,经过测试可以使用
tomcat集群session共享
redis+tomcat集群配置session共享
教你如何一步一步搭建tomcat集群,步骤超详细,经过实际验证过,很好用