第三种方法是
用的是jk
在 用jk进行整合apache和tomcat时,jk的配置最关键的是三个文件,分别是
1 httpd.conf
apache 服务器的配置文件,用来加载jk模块以及指定jk的配置文件信息的
2 workers.porperties
到tomcat服务器的连接定义文件
3 uriworkermap.properties
URI映射文件,用来指定哪些URL由Tomcat 处理,当然您也可以直接在httpd.conf 中配置这些URI,但是独立这些配置的优点是JK模块定期更新该文件的内容,使得我们修改配置的时候无需重新启动Apache 服务器
1 安装连接器
#tar xvf tomcat-connectors-1.2.28-src.tar.gz
#cd tomcat-connectors-1.2.28-src
#cd native
#./configure --with-apxs=/usr/local/apache/bin/apxs --with-java-home=/usr/java/
#make && make install
2编辑apache的配置文件
#vim httpd.conf
在其尾部添加
Include conf/mod_jk.conf并保存
3 创建文件mod_jk.conf文件
#vim mod_jk.conf
#Load mod_jk module
LoadModule jk_module modules/mod_jk.so
#Where to find workers.properties
JkWorkersFile conf/workers.properties
#Where to find uriworkermap.preperties
JkMountFile conf/uriworkermap.properties
#Where to put jk logs
JkLogFile logs/mod_jk.log
#Set the jk log level [debug/error/info]
JkLogLevel info
#Select the log format
JkLogStampFormat "[%a %b %d %H:%M:%S %Y] "
#JkOptions indicate to send SSL KEY SIZE,
JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories
#JkRequestLogFormat set the request format
JkRequestLogFormat "%w %V %T"
JkShmFile logs/mod_jk.shm
HostnameLookups Off
4 创建workers.properties 文件
#vim workers.properties
#list the workers by name
worker.list=loadBalancer,status
#################tomcat1##########
worker.tomcat1.port=8009
worker.tomcat1.host=localhost 注:可以换成IP地址
worker.tomcat1.type=ajp13
worker.tomcat1.lbfactor=1
worker.tomcat1.cachesize=100
worker.tomcat1.cache_timeout=600
worker.tomcat1.socket_keepalive=120
worker.tomcat1.socket_timeout=300
worker.tomcat1.connect_timeout=0
worker.tomcat1.reply_timeout=30000
worker.tomcat1.recovery_options=0
worker.tomcat1.retries=1
####################tomcat2#############
worker.tomcat2.port=8009
worker.tomcat2.host=192.168.2.213
worker.tomcat2.type=ajp13
worker.tomcat2.lbfactor=1
worker.tomcat2.cachesize=100
worker.tomcat2.cache_timeout=600
worker.tomcat2.socket_keepalive=120
worker.tomcat2.socket_timeout=300
worker.tomcat2.connect_timeout=0
worker.tomcat2.reply_timeout=30000
worker.tomcat2.recovery_options=0
worker.tomcat2.retries=1
############LoadBalancer############
worker.retries=3
worker.loadBalancer.type=lb
worker.loadBalancer.balance_workers=tomcat ,tomcat2
worker.loadBalancer.sticky_session=1
worker.status.type=status
并保存,应为我用的是两台机器,配置tomcat集群,如果是用同一台机器配置tomcat集群的话只需要把端口改为其他端口以防止端口冲突
在最后配置了一个类型为status的worker。这是用来监控JK本身的模块,当然有了这桑worker 还是不够的,还需要告诉JK,其中的哪些worker 是可用的所以就配置了worker.list=loadBalancer,status
5 配置URI的映射,需要指定连接是由Tomcat处理的,哪些是由apache直接处理的,
# uriworkermap.properties
/*=loadBalancer #mapping the url /
/jkstatus=status
/*.htm=loadBalancer
/*.jpg=loadBalancer
/*.png=loadBalancer
/*.html=loadBalancer
/*.jsp=loadBalancer
/*.gif=loadBalancer
/*/servlet/*=loadBalancer
注: 所有的请求都是由loadBalancer这个worker进行处理的,但是有几个例外,/jkstatus请求是由status这个worker处理的。另外这个配置中的每一行数据前面的叹号,表示接下来的URI不是由JK进行处理的,是由apache直接处理所有的图片,css文件,js文件以及静态html文本文件
6 配置 tomcat 集群
需改tomcat的主配置文件
#cd /usr/local/tomcat/conf/
#vim server.xml
首先查找
<Engin name=”Catalina” defaultHost=”localhost” jvmRoute=”tomcat2”>
应为是创建的tomcat集群,因此需要把去掉<Cluster> 的注释
7 修改Cluster 节点信息
在不同主机上的Cluster 的节点
<Membership
className="org.apache.catalina.cluster.mcast.McastService"
mcastBindAddress="192.168.2.154"
mcastAddr="224.0.0.1"
mcastPort="45564"
mcastFrequency="500"
mcastDropTime="3000"/>
<Receiver
className="org.apache.catalina.cluster.tcp.ReplicationListener"
tcpListenAddress="192.168.2.154"
tcpListenPort="4001"
tcpSelectorTimeout="100"
tcpThreadCount="6"/>
~ <Membership
className="org.apache.catalina.cluster.mcast.McastService"
mcastBindAddress="192.168.2.213"
mcastAddr="224.0.0.1"
mcastPort="45564"
mcastFrequency="500"
mcastDropTime="3000"/>
<Receiver
className="org.apache.catalina.cluster.tcp.ReplicationListener"
tcpListenAddress="192.168.2.213"
tcpListenPort="4001"
tcpSelectorTimeout="100"
tcpThreadCount="6"/>
如果是在同一台主机上配置的是tomcat集群,需要把tcpListenPort的端口改掉,
<Connector port="8080" maxHttpHeaderSize="8192"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
connectionTimeout="20000" disableUploadTimeout="true" />
<Connector port="8009"
enableLookups="false" redirectPort="8443" protocol="AJP/1.3" />
等端口改掉,防止在同一台主机上的tomcat的端口冲突
8 修改web.xml 文件并在</web-app>前面添加
<distributable/>
注:做tomcat集群必须配置该项,否则用户的session就无法正常使用
9 注意事项
1.需要开启网卡的组播地址
#route add –net 224.0.0.0 netmask 240.0.0.0 dev eth0
2 查看端口netstat –antl | grep 4001
3测试广播
# java -cp tomcat-replication.jar MCaster 224.0.0.1 45564 Terminal1
#java -cp tomcat-replication.jar MCaster 224.0.0.1 45564 Terminal2
10 重启apache和tomcat 浏览:http://localhost 出现的是一个小猫则说明配置成功
转载于:https://blog.51cto.com/freehat/370456