在 用jk进行整合apache和tomcat时,jk的配置最关键的是三个文件,分别是
apache 服务器的配置文件,用来加载jk模块以及指定jk的配置文件信息的
3 uriworkermap.properties
URI映射文件,用来指定哪些URL由Tomcat 处理,当然您也可以直接在httpd.conf 中配置这些URI,但是独立这些配置的优点是JK模块定期更新该文件的内容,使得我们修改配置的时候无需重新启动Apache 服务器
#tar xvf tomcat-connectors-1.2.28-src.tar.gz
#cd tomcat-connectors-1.2.28-src
#./configure --with-apxs=/usr/local/apache/bin/apxs --with-java-home=/usr/java/
Include conf/mod_jk.conf并保存
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
JkLogFile logs/mod_jk.log
#Set the jk log level [debug/error/info]
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
4 创建workers.properties 文件
#list the workers by name
worker.list=loadBalancer,status
#################tomcat1##########
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
####################tomcat2#############
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
############LoadBalancer############
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 /
/*/servlet/*=loadBalancer
注: 所有的请求都是由loadBalancer这个worker进行处理的,但是有几个例外,/jkstatus请求是由status这个worker处理的。另外这个配置中的每一行数据前面的叹号,表示接下来的URI不是由JK进行处理的,是由apache直接处理所有的图片,css文件,js文件以及静态html文本文件
#cd /usr/local/tomcat/conf/
应为是创建的tomcat集群,因此需要把去掉 的注释
如果是在同一台主机上配置的是tomcat集群,需要把tcpListenPort的端口改掉,
等端口改掉,防止在同一台主机上的tomcat的端口冲突
注:做tomcat集群必须配置该项,否则用户的session就无法正常使用
#route add –net 224.0.0.0 netmask 240.0.0.0 dev eth0
2 查看端口netstat –antl | grep 4001
# 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 出现的是一个小猫则说明配置成功
|