本文主要是介绍RedHat下搭建Tomcat集群,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
RedHat:RedHat Enterprise Linux6.0
Apache Httpd Server:httpd-2.2.24.tar.gz 下载地址:http://httpd.apache.org/download.cgi
Tomcat:apache-tomcat-6.0.35.zip 下载地址:http://tomcat.apache.org/download-60.cgi
Apache Tomcat Connector:tomcat-connectors-1.2.37-src.tar.gz 下载地址:http://tomcat.apache.org/download-connectors.cgi
2、安装Apache Httpd Server
关于Apache Httpd Server的安装此处略过,参见 Red Hat Enterprise Linux 6下安装Apache Httpd Server3、安装Apache Tomcat Connector
解压源文件
tar -xzvf tomcat-connectors-1.2.37-src.tar.gz
进入源码目录
cd tomcat-connectors-1.2.37-src/native/
编译和安装
./buildconf.sh
./configure --with-apxs=/usr/local/apache2/bin/apxs --with-java-home=$JAVA_HOME --with-java-platform=2 --enable-jni
make
安装成功之后进入cd /usr/local/apache2/modules/目录下,可以看到mod_jk.so文件
4、Tomcat安装及配置
Tomcat存放目录 /usr/local/
tomcat-6.0.35_1、tomcat-6.0.35_2
修改tomcat-6.0.35_1的端口配置信息server.xml
开启Tomcat集群支持server.xml
此处增加jvmRoute="tomcat1",这里的tomcat1值要和后面workers.properties值保持一致,建议的命名是从tomcat1开始增加
在<Engine name="Catalina" defaultHost="localhost" jvmRoute="tomcat1"> </Engine>之间增加关于集群的配置。
Tomcat提供了一份默认的配置,可以参考如下地址:
http://tomcat.apache.org/tomcat-6.0-doc/cluster-howto.html
我们可以直接使用Tomcat提供的默认配置来进行实验,但有一点需要注意
官方提供的address="auto",如果在虚拟机中进行实验的话需要进行修改一下,把地址修改为localhost或自己机器的ip地址就可以,不然启动时会报错误。
附:完整的cluster配置如下
<Engine name="Catalina" defaultHost="localhost" jvmRoute="tomcat1">
<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"
channelSendOptions="8">
<Manager className="org.apache.catalina.ha.session.DeltaManager"
expireSessionsOnShutdown="false"
notifyListenersOnReplication="true"/>
<Channel className="org.apache.catalina.tribes.group.GroupChannel">
<Membership className="org.apache.catalina.tribes.membership.McastService"
address="228.0.0.4"
port="45564"
frequency="500"
dropTime="3000"/>
<Receiver className="org.apache.catalina.tribes.transport.nio.NioReceiver"
address="localhost"
port="4000"
autoBind="100"
selectorTimeout="5000"
maxThreads="6"/>
<Sender className="org.apache.catalina.tribes.transport.ReplicationTransmitter">
<Transport className="org.apache.catalina.tribes.transport.nio.PooledParallelSender"/>
</Sender>
<Interceptor className="org.apache.catalina.tribes.group.interceptors.TcpFailureDetector"/>
<Interceptor className="org.apache.catalina.tribes.group.interceptors.MessageDispatch15Interceptor"/>
</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"/>
<ClusterListener className="org.apache.catalina.ha.session.JvmRouteSessionIDBinderListener"/>
<ClusterListener className="org.apache.catalina.ha.session.ClusterSessionListener"/>
</Cluster>
修改tomcat-6.0.35_2的端口配置信息server.xml
5、配置Apache Httpd Server
cd /usr/local/apache2/conf/
修改配置文件httpd.conf在文件末尾增加如下配置信息
# Load mod_jk module
LoadModule jk_module modules/mod_jk.so
# Specify jk log file.
JkLogFile /var/log/mod_jk.log
# Specify jk log level [debug/error/info]
JkLogLevel info
# Specify workers.properties, this file tell jk:
# how many nodes and where they are.
JkWorkersFile conf/workers.properties
# Specify which requests should handled by which node.
JkMount /* controller
参考地址:http://tomcat.apache.org/connectors-doc/webserver_howto/apache.html
在Apache配置文件夹下增加一个配置文件workers.properties
文件内容如下:
worker.list=controller,tomcat1,tomcat2
#========tomcat1========
worker.tomcat1.port=8009
worker.tomcat1.host=localhost
worker.tomcat1.type=ajp13
worker.tomcat1.lbfactor=1
#========tomcat2========
worker.tomcat2.port=8109
worker.tomcat2.host=localhost
worker.tomcat2.type=ajp13
worker.tomcat2.lbfactor=1
#========controller,负载均衡控制器========
worker.controller.type=lb
worker.controller.balance_workers=tomcat1,tomcat2
worker.controller.sticky_session=1
#sticky_session为1表示
到此为止关于集群已经搭建好了基本环境
如果要让应用程序支持集群,需要在做如下两点:
-
在应用程序web.xml文件中需要加入:<distributable/>元素。
-
Session中存放的数据(如attribute)需要实例序列化。
所使用的Tomcat及Web项目: 下载
这篇关于RedHat下搭建Tomcat集群的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!