(一)负载均衡配置过程
硬件配置:服务器一台(最好能启动两个以上的tomcat就可以了)
1.Tomcat5.0.27、JDK1.4.2、Apache2.0.5、jakarta-tomcat-connectors-jk2.0.4-win32-apache2.0.49.zip
2.在一台机子中配置多个Tomcat,方法改变3个端口(tomat_home/conf/server.xml中)改变http端口(默认8080)、shutdown端口(8005)和Coyote/JK2 AJP 1.3端口(8009),我在我的机子上配置了两个一个tomcat1一次端口是:8000\8005\8009另一个tomcat2:8001\8006\8010保证不要冲突
3.解压缩jakarta-tomcat-connectors-jk2.0.4-win32-apache2.0.49.zip
4.安装Apache,成功后可能自动启动然后你测试一下http://localhost看看有没有成功页面.然后将第三步中modules/ mod_jk2.so文件复制到apache的安装目录下的modules目录中,我的为C:\Program Files\Apache Group\Apache2\modules修改apache的安装目录中的conf目录的配置文件httpd.conf,在文件中加LoadModule模块配置信息的最后加上一句LoadModule jk2_module modules/mod_jk2.so
5.分别修改两个tomcat1,2中的配置文件conf/server.xml
第一tomcat
这个注释掉添加
同样第二个
这个注释掉添加
其中注意jvmRoute参数配置一会儿会用到
6.在apache的安装目录中的conf目录下创建文件workers2.properties(这里的名字不能改变),写入文件内容如下
# fine the communication channel
[channel.socket:127.0.0.1:8009]
info=这里是配置的Coyote/JK2 AJP 1.3端口
tomcatId=tomcat1
debug=0
lb_factor=1
# fine the communication channel
[channel.socket:127.0.0.1:8010]
info=这里是配置的Coyote/JK2 AJP 1.3端口
tomcatId=tomcat2
debug=0
lb_factor=1
[status:]
info=Status worker, displays runtime information.
[uri:/jkstatus.jsp]
info=显示集群配置状态
group=status:
[uri:/*]
info=映射如果这样配置访问http://localhost就会转向到tomcat那边
debug=0
7.在2个tomcat中配置相同的应用比如ROOT中添加个aaa.jsp内容随便我的是
我的是
Tomcat1中aaa.jsp内容是:I am tomcat1 <%=new java.util.Date()%>
Tomcat2中aaa.jsp内容是:I am tomcat2 <%=new java.util.Date()%>
8.重起apache服务器和tomcat服务器 测试http://localhost/jkstatus.jsp能不能看到集群配置信息然后访问http://localhost/aaa.jsp看看是不是内容 可以用Jmeter测试看看结果最好在服务器中输出看看服务器的调用情况
9.Tomcat负载均衡就配置完
(二) Tomcat集群配置
1.负载均衡配置的条件下配置tomcat集群
2.分别修改tomcat1,2的配置文件conf/server.xml ,在server.xml中找到下面
managerClassName="org.apache.catalina.cluster.session.DeltaManager"
expireSessionsOnShutdown="false"
useDirtyFlag="true"
notifyListenersOnReplication="true">
…………………………………..
-->
去掉注释并且改成下面内容
managerClassName="org.apache.catalina.cluster.session.DeltaManager"
expireSessionsOnShutdown="false"
useDirtyFlag="true"
notifyListenersOnReplication="true">
className="org.apache.catalina.cluster.mcast.McastService"
mcastClusterDomain="catalina"
mcastAddr="228.0.0.4"
mcastPort="45564"
mcastBindAddress="127.0.0.1"
mcastFrequency="500"
mcastDropTime="3000"/>
className="org.apache.catalina.cluster.tcp.ReplicationListener"
tcpListenAddress="127.0.0.1"
tcpListenPort="4001"
tcpSelectorTimeout="100"
tcpThreadCount="6"/>
className="org.apache.catalina.cluster.tcp.ReplicationTransmitter"
replicationMode="pooled"
ackTimeout="15000"
waitForAck="true"/>
filter=".*\.gif;.*\.js;.*\.jpg;.*\.png;.*\.htm;.*\.html;.*\.css;.*\.txt;"/>
tempDir="/tmp/war-temp/"
deployDir="/tmp/war-deploy/"
watchDir="/tmp/war-listen/"
watchEnabled="false"/>
其中很多属性原配置中没有不知道为什么
然后添加一个应用
和普通应用是一样的
3.在你要分布式的web应用中的web.xml的中添加标记
4.这样Tomcat集群就配置好了
(三)总结