Tomcat5基于JK的集群(Cluster)和负载平衡(Load Balance)
网上关于
Tomcat的集群和负载平衡的东东实在太多,不过有些可以成功,有些不成,本人只是测试的基于JK的connector,其他应该类似吧,同时也是作为学习
Tomcat的Cluster的一个总结吧。
本人测试用到的软件:
首先来配置 Tomcat的Cluster,我是用两台主机来测试 Tomcat的Session的Cluster的,其实很简单,简单修改一下conf下的server.xml即可
至此 Tomcat要配置的已经完成,简单吧
不过要想真正深入了解
Tomcat的Cluster还是需要去官方多多其文档。
接下来是配置JK和Apache的http了,接下来我们就一步一步来配置他们:
至此配置相关的东东基本完成,将apache, tomcat等都启动完毕,如果没有 什么意外的话,输入http://host:port/cluster应该可以看到结果的,而且还可以通过http://host:port/jkstatus来监控和配置JK
不过为了方便查看,最好将cluster.war的index.jsp的title自己调整一下,以方便区分。
另:我的测试环境是将apache和 tomcat1放在同一主机上,另一台单独运行 tomcat2
我用到的相关文档:
最后对JE发个小牢骚,虽然有自动保存的功能,可是我辛苦写出的文档,只恢复了一部分
本人测试用到的软件:
首先来配置 Tomcat的Cluster,我是用两台主机来测试 Tomcat的Session的Cluster的,其实很简单,简单修改一下conf下的server.xml即可
-
- <!-- You should set jvmRoute to support load-balancing via AJP ie :
- <Engine name="Standalone" defaultHost="localhost" jvmRoute="jvm1">
- -->
- <!-- Define the top level container in our container hierarchy -->,当然了也要将另一台主机上的jvmRoute修改为tomcat2。
- <Engine name="Catalina" defaultHost="localhost">
- 将Host标签下的Cluster标签的注释去掉,因为是在两台主机上测试,因此什么都不需要改(不过要注意两天主机应该在同一个局域网中,因为不知道你的网络中是否支持多播路由,因此在同一个LAN最保险)
至此 Tomcat要配置的已经完成,简单吧

接下来是配置JK和Apache的http了,接下来我们就一步一步来配置他们:
- 下载JK相应的二进制文件(我是用的window版的1.2.26)
- 将相应的JK文件解压缩,并且将其so文件放到apache的modules目录下边,并且重新命名为mod_jk.so
- http.conf的配置,很简单增加如下代码即可
- LoadModule jk_module modules/mod_jk.so
- # Path to workers.properties
- JkWorkersFile conf/workers.properties
- JkMountFile conf/uriworkermap.properties
- # Path to jk logs
- JkLogFile logs/mod_jk.log
- # Jk log level [debug/error/info]
- JkLogLevel info
- # Jk log format
- JkLogStampFormat "[%a %b %d %H:%M:%S %Y] "
- # JkOptions for forwarding
- JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories
- # JkRequestLogFormat set the request format
- JkRequestLogFormat "%w %V %T"
LoadModule jk_module modules/mod_jk.so # Path to workers.properties JkWorkersFile conf/workers.properties JkMountFile conf/uriworkermap.properties # Path to jk logs JkLogFile logs/mod_jk.log # Jk log level [debug/error/info] JkLogLevel info # Jk log format JkLogStampFormat "[%a %b %d %H:%M:%S %Y] " # JkOptions for forwarding JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories # JkRequestLogFormat set the request format JkRequestLogFormat "%w %V %T"
- 将JK用到的properties放到apache的conf下边,我已经打包的properties.conf文件
至此配置相关的东东基本完成,将apache, tomcat等都启动完毕,如果没有 什么意外的话,输入http://host:port/cluster应该可以看到结果的,而且还可以通过http://host:port/jkstatus来监控和配置JK

不过为了方便查看,最好将cluster.war的index.jsp的title自己调整一下,以方便区分。
另:我的测试环境是将apache和 tomcat1放在同一主机上,另一台单独运行 tomcat2
我用到的相关文档:
- cluster-howto
- Tomcat Connector其中Status Worker对于描述jkstatus,很有益处。
最后对JE发个小牢骚,虽然有自动保存的功能,可是我辛苦写出的文档,只恢复了一部分
