日期:2014-05-16 浏览次数:20995 次
????无意间看到tomcat 6集群的内容,就尝试配置了一下,还是遇到很多问题,特此记录。apache服务器和tomcat的连接方法其实有三种:JK、http_proxy和ajp_proxy。本文主要介绍最为常见的JK。
环境:PC2台:pc1(IP 192.168.88.118)安装了apache和tomcat
???????????????????? pc2(IP 192.168.88.168)安装了tomcat
???????? 系统 win xp sp3
? 1.安装tomcat、apache服务器及版本对应的JK
??这里需要注意的是JK版本必须与apache服务器版本号对应,可以直接从我参考附件下载。apache_home表示apache服务器安装目录.
? 2.配置apache服务器
??2.1 httpd.conf文件
?apache_home目录下的conf/httpd.conf文件中添加
LoadModule jk_module modules/mod_jk-1.2.26-httpd-2.2.4.so JkWorkersFile conf/workers.properties JkMount /* lbcontroller
?具体的说明如下:
LoadModule jk_module modules/mod_jk-1.2.26-httpd-2.2.4.so
?表示载入JK模块。
JkWorkersFile conf/workers.properties
tomcat实例配置,具体参见2.2。
JkMount /* lbcontroller
??设置apache分发器,/*表示apache将所有文件都由分发器lbcontroller 进行分发,你可以自行设置*.jsp,*.do等?
??2.2 workers.properties文件
在apache_home下conf目录中新建workers.properties文件,输入以下内容
worker.list=lbcontroller #Tomcat1实例配置 worker.tomcat1.host=192.168.88.118 worker.tomcat1.port=8009 worker.tomcat1.type=ajp13 #分发权重 值越大负载越大 worker.tomcat1.lbfactor = 1 #Tomcat2实例配置 worker.tomcat2.host=192.168.88.168 worker.tomcat2.port=9009 worker.tomcat2.type=ajp13 #分发权重 值越大负载越大 worker.tomcat2.lbfactor = 1 #负载均衡分发控制器 worker.lbcontroller.type=lb worker.lbcontroller.balance_workers=tomcat1,tomcat2 worker.lbcontroller.sticky_session=True
?在这里
worker.list=lbcontroller
?内容即为httpd.conf文件中的分发器名称。需要注意的内容是,tomcat实例名称
worker.tomcat1.host=.... ... worker.tomcat2.host=.... ...
?在这里就是tomcat1和tomcat2必须与之后tomcat中的server.xml中jvmRoute值一致。
3.tomcat集群配置
配置每个tomcat目录下的server.xml文件,具体修改内容如下
3.1 Engine配置
修改前
<Engine name="Catalina" defaultHost="localhost">
修改后
<Engine name="Catalina" defaultHost="localhost" jvmRoute="tomcat1" >
?具体tomcat中jvmRoute的值根据在workers.properties的配置,注意IP地址、tomcat实例名称和jvmRoute值必须一一对应。
3.2 Connector配置
修改前
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
修改后
<Connector port="9009" protocol="AJP/1.3" redirectPort="8443" />
?这里tomcat的port值必须与在workers.properties中的port值一致。
3.3 Cluster配置