Apache+tomcat+JK分布式集群


开发环境:windows
服务器:tomcat6.0 ,tomcat6.0 ,tomcat6.0 (三台)
准备工具:Apache2.x服务器,mod_jk

到网上把以上文件下载好。
打开Apache安装好的文件目录:conf/httpd.conf  在该文件的底部,添加以下代码
include "D:\Program Files (x86)\Apache Software Foundation\Apache2.2\conf\mod_jk.conf"

这是一个文件路径,默认是没有这个文件的,所以,需要我们MK.
该文件内容如下

LoadModule jk_module modules/mod_jk-1.2.26-httpd-2.2.4.so  #这个就是我们下载的mod_jk文件,放置到Apache目录modules下

JkWorkersFile conf/workers.properties    #定义了服务器集群的配置文件workers.properties

#指定那些请求交给tomcat处理,"controller"为在workers.propertise里指定的负载分配控制器名

JkMount /* controller  
JkMount /*.jsp  controller  
JkMount /*.action controller


之后,在conf文件夹下面,创建文件workers.properties,文件内容如下

#server

worker.list = controller

#========tomcat4========

worker.tomcat4.port=8009

worker.tomcat4.host=192.168.0.131  #IP地址不可以加http开头,否则会出错

worker.tomcat4.type=ajp13    #使用反代理协议,ajp3,在tomcat的server.xml中

worker.tomcat4.lbfactor = 1


#========tomcat2========

#worker.tomcat2.port=10002

#worker.tomcat2.host=localhost

#worker.tomcat2.type=ajp13

#worker.tomcat2.lbfactor = 1

#worker.tomcat2.activation = disabled

#========tomcat3========

worker.tomcat3.port=10003

worker.tomcat3.host=localhost 

worker.tomcat3.type=ajp13

worker.tomcat3.lbfactor = 1

#worker.tomcat3.redirect = tomcat2 

#就是对某一个tomcat的活动性进行禁用。这句配置的意思是,负载均衡启动的时候,
#其实负载都到tomcat3和tomcat4上面去。Tomcat2默认不参与负载。当tomcat3当掉的时候,
#通过worker.tomcat3.redirect = tomcat2 ,tomcat2就会自己启动起来,
#接替tomcat3继续工作。当然,这样就和负载均衡没有关系了。


#========controller,负载均衡控制器========

worker.controller.type=lb

worker.controller.balanced_workers=tomcat4,tomcat3#,tomcat4

worker.controller.sticky_session=false   # 粘性session,默认为true,不开启共享session,这里设置为false

worker.controller.sticky_session_force=1

#worker.controller.sticky_session=1 

至此。Apache已经配置好了。Apache只能处理静态资源,遇到动态资源就会分发给tomcat集群处理了,
如果集群中有更多的tomcat的话,
请在worker.properties中进行配置。(注:当有6个tomcat进行集群的时候,
为了提高性能, worker.properties中的 redirect和activation就可以起到作用。
我们可以对tomcat两两配对,两两互相设置redirect,两个其中一个设置activation. 形成3对,
这样,就可以处理意外宕机的情况,保证6台集群可以继续运行下去。) 


接下来就是在本机上布置tomcat服务器了,默认的解压形成的tomcat服务器是不行的,需要进行一些配置,
比如我们上面写的tomcat2,  那么需要把tomcat服务器文件夹改成tomcat2, 
之后需要把服务器的文件中所有的tomcat 6.0(我用的是6.0版本),全部修改成tomcat2,之后再dos里面把他加入服务
tomcat2/bin/service.bat install   
如此重复,配置其他服务器

tomcat中需要修改server.xml文件,把该文件中的所有端口,ajp3/http1.1 等端口,全部进行修改,ajp3的端口和Apache对应
需要保证修改的端口在所有的服务器集群中的唯一性。

#jvmRoute 用于复制session,该值和Apache里的配置一致
<Engine name="Catalina" defaultHost="localhost"  jvmRoute="tomcat3" >         
    
#开启tomcat服务器集群
 <Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>


按以上配置,把所有的服务器都进行配置一遍

服务器中的项目,需要加入集群访问的话,需要在项目里面web.xml加入  <distributable/>  ,在最底部添加即可

接下来进行测试就可以了。至此,服务器集群的配置就完了。完了。。。完了。。。原来这么简单。。。、
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值