网上关于Tomcat的集群和负载平衡的东东实在太多,不过有些可以成功,有些不成,本人只是测试的基于JK的connector,其他应该类似吧,同时也是作为学习Tomcat的Cluster的一个总结吧。
本人测试用到的软件:
首先来配置Tomcat的Cluster,我是用两台主机来测试Tomcat的Session的Cluster的,其实很简单,简单修改一下conf下的server.xml即可
[list=1]
[*]
<!-- You should set jvmRoute to support load-balancing via AJP ie :
<Engine name="Standalone" defaultHost="localhost" jvmRoute="jvm1">
-->
将以上代码的Engine注释放开,将jvm1修改成tomcat1(是为了和JK的配置相一致),同时将
<!-- Define the top level container in our container hierarchy -->,当然了也要将另一台主机上的jvmRoute修改为tomcat2。
<Engine name="Catalina" defaultHost="localhost">
中的Engine注释
将Host标签下的Cluster标签的注释去掉,因为是在两台主机上测试,因此什么都不需要改(不过要注意两天主机应该在同一个局域网中,因为不知道你的网络中是否支持多播路由,因此在同一个LAN最保险)
[/list]
至此Tomcat要配置的已经完成,简单吧
不过要想真正深入了解Tomcat的Cluster还是需要去官方多多其文档。
接下来是配置JK和Apache的http了,接下来我们就一步一步来配置他们:
[list=1]
下载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"
将JK用到的properties放到apache的conf下边,我已经打包的properties.conf文件
[/list]
至此配置相关的东东基本完成,将apache,tomcat等都启动完毕,如果没有什么意外的话,输入http://host:port/cluster应该可以看到结果的,而且还可以通过http://host:port/jkstatus来监控和配置JK
不过为了方便查看,最好将cluster.war的index.jsp的title自己调整一下,以方便区分。
另:我的测试环境是将apache和tomcat1放在同一主机上,另一台单独运行tomcat2
我用到的相关文档:
最后对JE发个小牢骚,虽然有自动保存的功能,可是我辛苦写出的文档,只恢复了一部分
分享到:
相关推荐
负载均衡(Load Balance)** 负载均衡是集群技术中的一个重要组成部分,它负责将客户端的请求均匀地分配给集群中的各个服务器,避免单一服务器过载,确保整个系统的稳定运行和优化资源利用率。 #### 三、Tomcat...
2. **负载均衡集群 (Load Balance Cluster)**:此类集群中的所有节点都处于活动状态并分担工作负载,适用于 Web 服务器、数据库服务器和应用服务器等场景。 3. **科学计算集群 (High Performance Computing Cluster,...
Tomcat的集群(Cluster)和负载均衡(Load Balance)是高级特性,用于提高服务的可用性和性能。集群允许多个Tomcat实例协同工作,看起来像是单一的服务,通过网络共享内存进行通信。负载均衡则是在多个服务器之间...