apache整合tomcat 配置负载均衡

apache mysql

第一步:


找到apache的httpd.conf 文件,加入下面这段话:

#设置Apache与Tomcat之间的连接,让Apache将请求转发到Tomcat中去:

LoadModule jk_module modules/mod_jk.so

#设置worker队列,这个文件中实现负载均衡的配置

JkWorkersFile conf/workers.properties  

#设置什么请求交由负载均衡控制器处理

JkMountFile conf/uriworkermap.properties  

#指定tomcat监听配置文件地址,也记录了它的错误信息。

JkLogFile "D:\servers\apache-tomcat-6.0.28/logs/mod_jk2.log"

#指定日志级别

JkLogLevel info

第二步:

配置uriworkermap.properties 文件,设置请求转向,以下内容的意思是 将.jsp,.do等请求转移到controller这个worker中去(worker实际上是个负载均衡worker):

/*.*=controller


第三步:

配置 workers.properties文件


# list the workers by name 

worker.list=controller 


# localhost server 1 
# ------------------------ 
worker. s1.port=8009 
worker. s1.host=localhost 
worker.s1.type=ajp13
worker.s1.lbfactor = 1

# localhost server 2 
# ------------------------ 
worker. s2.port=8010 
worker.s2.host=localhost
worker.s2.type=ajp13
worker.s2.lbfactor = 1

worker.controller.type=lb 
worker.controller.balance_workers= s1,s2 
worker.controller.sticky_session=false 
worker.controller.sticky_session_force=1 
#worker.controller.sticky_session=1

第四步:

找到tomcat启动时的server.xml,因为我是spring source中部署的,所以我启动时,实际上使用的是

org.eclipse.wst.server.core插件来启动tomcat的实例的,假如我插件的目录是 E:\workspace\.metadata\.plugins\org.eclipse.wst.server.core\  那该目录下的每个文件夹都是一个tomcat的文件夹结构,找到对应的server.xml文件修改配置即可。

这可不必太纠结插件,只需要知道这步的操作是找到启动tomcat实例时,用到的server.xml配置文件修改即可。

不同情况,server.xml所在的位置可能不同。

我是在目录:

E:\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp3 和 tmp4中

1. 将<Engine defaultHost="localhost"  name="Catalina">  

    修改为:<Engine defaultHost="localhost"  jvmRoute="s1" name="Catalina">  

    这里的“s1” 为worker.properties中配置的worker名称。

2. 取消掉这句话的配置,启用集群功能:

     <Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>

对于另外一个tomcat的server.xml配置文件做同样的修改, 注意名称:

1. 将<Engine defaultHost="localhost"  name="Catalina">  

    修改为:<Engine defaultHost="localhost"  jvmRoute="s2" name="Catalina">  

    这里的“s1” 为worker.properties中配置的worker名称。

2. 取消掉这句话的配置,启用集群功能:

     <Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>

最后,重启apache后一次,启动tomcat即可,注意观察tomcat启动的日志信息。