当前位置:文档之家› Tomcat6+Apache2.2集群配置说明文档

Tomcat6+Apache2.2集群配置说明文档

Tomcat6+Apache2.2集群配置说明文档yysy2000@2009-7-24准备工作:注:可点击链接直接下载相应的文件。

JDK 免述,这个要是搞不定,直接回家种地吧。

本文使用1.6.0_13Tomcat版本号:apache-tomcat-6.0.18.zipApache版本号:apache_2.2.11-win32-x86-openssl-0.9.8i另外:tomcat-connectors-1.2.28-src.zip(apache网站tomcat项目下有下载)mod_jk-1.2.28-httpd-2.2.3.so(2.2.3适合于apache2.2.x版本)程序安装:1.正常安装apache(默认安装到C:\Program Files\Apache Software Foundation\Apache2.2目录下)2.解压缩apache-tomcat-6.0.18.zip到C:\Program Files\Apache SoftwareFoundation\Tomcat6.0目录下,解压完毕后,重命名tomcat6.0_1,3.复制tomcat6.0_1文件夹,重命名为tomcat6.0_24.拷贝mod_jk-1.2.28-httpd-2.2.3.so 到Apache2.2/modules目录下5.解压tomcat-connectors-1.2.28-src.zip,拷贝tomcat-connectors-1.2.28-src\conf文件夹中的workers.properties 到Apache2.2/conf 目录下(该文件中配置用于集群的Tomcat信息)tomcat配置:注:以下配置使用端口号可自行定义,只要不和系统中已经使用的端口号冲突即可。

1.conf文件夹下的server.xml文件作如下修改:1)更正SHUTDOWN端口(两个tomcat分别使用8005和8006)<Server port="8005"shutdown="SHUTDOWN">2)HTTP1.1的connector可以关闭不使用(由apache调度),也可以不关闭(亦可访问响应端口,即不通过apache调度,设定的端口不应与其他端口重复)。

<!--Connector port="8090" protocol="HTTP/1.1" connectionTimeout="20000"ctPort="8443" /-->3)更正AJP1.3端口(两个tomcat分别使用8090和8091),redirectPort亦应不同(分别使用8443和8444)。

<Connector port="8090"protocol="AJP/1.3"redirectPort="8443" />4)替换原来的engine标签,设置jvmRoute的路径以支持通过AJP的负载均衡(不同的tomcat配置不同的jvmRoute,这里使用tomcat01,tomcat02)<Engine name="Standalone"defaultHost="localhost"jvmRoute="tomcat01">5)设置cluster属性,其中Receiver的端口页应为唯一的不重复的端口(两个tomcat分别使用5002和5003)。

<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"channelSendOptions="6"><Manager className="org.apache.catalina.ha.session.BackupManager"expireSessionsOnShutdown="false"notifyListenersOnReplication="true"mapSendOptions="6"/><Channel className="org.apache.catalina.tribes.group.GroupChannel"><MembershipclassName="org.apache.catalina.tribes.membership.McastService"address="228.0.0.4"port="45564"frequency="500"dropTime="3000"/><ReceiverclassName="org.apache.catalina.tribes.transport.nio.NioReceiver"address="auto"port="5003"selectorTimeout="100"maxThreads="6"/><SenderclassName="org.apache.catalina.tribes.transport.ReplicationTransmitter"><TransportclassName="org.apache.catalina.tribes.transport.nio.PooledParallelSender"/></Sender><InterceptorclassName="org.apache.catalina.tribes.group.interceptors.TcpFailureDetector"/><InterceptorclassName="org.apache.catalina.tribes.group.interceptors.MessageDispatch15Intercep tor"/><InterceptorclassName="org.apache.catalina.tribes.group.interceptors.ThroughputInterceptor"/> </Channel><Valve className="org.apache.catalina.ha.tcp.ReplicationValve"filter=""/><Valve className="org.apache.catalina.ha.session.JvmRouteBinderValve"/><Deployer className="org.apache.catalina.ha.deploy.FarmWarDeployer"tempDir="/tmp/war-temp/"deployDir="/tmp/war-deploy/"watchDir="/tmp/war-listen/"watchEnabled="false"/><ClusterListenerclassName="org.apache.catalina.ha.session.JvmRouteSessionIDBinderListener"/><ClusterListenerclassName="org.apache.catalina.ha.session.ClusterSessionListener"/></Cluster>6)在host节点中增加context指定应用程序路径。

<Context path=""reloadable="true"docBase="C:\Program Files\Apache SoftwareFoundation\myApp" > </Context>apache配置:1.Apache2.2\conf文件夹下:http.conf文件修改LoadModule jk_module modules/mod_jk-1.2.28-httpd-2.2.3.soJkWorkersFile "C:/Program Files/Apache SoftwareFoundation/Apache2.2/conf/workers.properties"JkLogFile "C:/Program Files/Apache Software Foundation/Apache2.2/logs/mod_jk2.log"#设置Apache支持对servlet传送,用以Tomcat解析,loadbalancer对应于workers.properties中的配置JkMount /servlet/* loadbalancer#置Apache支持对jsp传送,用以Tomcat解析JkMount /*.jsp loadbalancer#设置Apache支持对.do传送,用以Tomcat解析JkMount /*.do loadbalancer在httpd.conf的最后加入如下信息配置要集群的服务器,以下信息均与要集群的Tomcat 对应ProxyRequests Off<proxy balancer://cluster>BalancerMember ajp://127.0.0.1:8090 loadfactor=1 route=tomcat01BalancerMember ajp://127.0.0.1:8091 loadfactor=1 route=tomcat02</proxy>2.Apache2.2\conf文件夹下:workers.properties文件修改,查找并更正为如下:workers.tomcat_home=C:\Program Files\Apache Software Foundation\Tomcat 6.0_1rogramFiles\Apache Software Foundation\Tomcat 6.0_2workers.java_home=C:\Program Files\Java\jdk1.6.0_13worker.list=loadbalancer,tomcat01,tomcat02# 定义第一个集群节点worker.tomcat01.port=8090worker.tomcat01.host=localhostworker.tomcat01.type=ajp13worker.tomcat01.lbfactor=1# 定义第二个集群节点worker.tomcat02.port=8091worker.tomcat02.host=localhostworker.tomcat02.type=ajp13worker.tomcat02.lbfactor=1# 负载均衡行为worker.loadbalancer.type=lbworker.loadbalancer.balance_workers=tomcat01,tomcat02worker.loadbalancer.sticky_session=1部署应用程序配置:拷贝你的应用程序到C:\Program Files\Apache Software Foundation\目录下,(假定名称myApp)对于进行负载和集群的tomcat应用程序,在web.xml中应添加一项配置<distributable/>,添加的位置如下所示:<web-app><distributable/></web-app>总结:以上配置主要注意一下端口的更正,不同的tomcat要使用不同的端口:shutdown portHTTP portHTTP port redirect portAJP portAJP redirect portReceiver port。

相关主题