Apache+Tomcat+Linux集群和负载均衡

Apache+Tomcat+Linux集群和负载均衡

linux:Red Hat Linux AS4

操作系统:windows xp

安装好vm+linux后,该linux系统默认已经安装了Apache

两台tomcat服务器

一台由虚拟机安装的linux担当Apache也安装在此机器上  

另一台是我们安装了该虚拟机的winxp操作系统的机器担当

Tomcat ip1 :172.16.116.2也就是linux的ip地址 版本为6.0.18

Tomcat ip2 :172.16.116.1是我们用来跟linux连接的虚拟网卡1的ip  版本为6.0.14

JDK6.0安装在172.16.116.1和172.16.116.2上的tomcat服务器

安装tomcat和apache ,在这里就不讲了。

软件都可以在www.apache.org 的网站上找到(apache,tomcat,mod_jk)

2.拷贝文件

下载mod_jk.so 文件放到apache 下的modules下

地址:http://apache.mirror.phpchina.com/tomcat/tomcat-connectors/jk/binaries/ 请选择正确的操作系统和

Apache的版本

这里我们使用的是mod_jk-1.2.26-httpd-2.0.61.so版本

假设我们的mod_jk-1.2.26-httpd-2.0.61.so放在 /root/jerry 目录下 拷贝到指定的目录中去

# cp  /root/jerry/mod_jk-1.2.26-httpd-2.0.61.so    /etc/httpd/modules

# cd./etc/httpd/modules

# ls

3.在apache的conf下建立文件workers.properties

添加内容:

ps=/

worker.list=worker1,worker2,loadbalancer

worker.worker1.port=8009

worker.worker1.host=172.16.116.1

worker.worker1.type=ajp13

worker.worker1.lbfactor=1

 

worker.worker2.port=8009

worker.worker2.host=172.16.116.2

worker.worker2.type=ajp13

worker.worker2.lbfactor=1

 

worker.loadbalancer.type=lb

worker.loadbalancer.balanced_workers=worker1,worker2

 

4.修改/etc/httpd/conf/httpd.conf

编辑httpd.conf,将下面的内容添加到该文件的末尾

# vi /etc/httpd/conf/httpd.conf

LoadModule jk_module modules/mod_jk-1.2.26-httpd-2.0.61.so

JkWorkersFile "conf/workers.properties"

JkLogFile "logs/mod_jk.log"

JkLogLevel debug

JkMount /*.jsp loadbalancer

 

:wq保存退出

 

注意:修改完成后请more查看文件,是否已经修改成功,不成功需要修改文件访问权限后进行修改。

5.重启服务

启动两台 tomcat服务器服务 启动#cd /root/jerry/tomcat6.0.18/bin/startup.sh linux下的tomcat服务器

windwos下的就不用我说了

重启Apache的服务  #service httpd restart


2.3 配置tomcat(绑定session)

 

同属于一个集群下的两个服务实体,要求功能的同一性,所以我们可先安装和配置第一个tomcat,接着拷贝形成第二个tomcat,最后配置第二个tomcat。


2.3.1修改tomcat1, tomcat2的server.xml

2.3.1.1 修改 <Engine /> 标签

在跑第一个tomcat实例的机器上,在大约第120行(去掉注释), 将
<Engine name="Standalone" defaultHost="localhost" debug="0">
替换为:
<Engine jvmRoute="tomcat1" name="Standalone" defaultHost="192.168.0.105" debug="0" />
对跑第二个tomcat实例的机器上,替换为 jvmRoute="tomcat2".

Xml代码  复制代码
  1. <!-- You should set jvmRoute to support load-balancing via AJP ie :   
  2. <Engine name="Standalone" defaultHost="localhost" jvmRoute="jvm1">  
  3. -->    
  4. <Engine jvmRoute="tomcat2" name="Standalone" defaultHost="192.168.0.105" debug="0" />  
  5.       
<!-- You should set jvmRoute to support load-balancing via AJP ie :
<Engine name="Standalone" defaultHost="localhost" jvmRoute="jvm1">
--> 
<Engine jvmRoute="tomcat2" name="Standalone" defaultHost="192.168.0.105" debug="0" />
    

 

有的文档写得是在配置中加入一行<Engine jvmRoute="tomcat1" name="Standalone" defaultHost="localhost" debug="0"></Engine>,其实是不对的,这样负载均衡是没有问题的,但是不能做session绑定,也就是说同一用户会在两台服务器上跳来跳去。这是由于jvmRoute不正确引起的,因为如果只是加入一行的话,是没有什么作用的,Engine仍然是原来的 Engine,而原来的Engine中jvmRoute是不正确的,所以一定要替换。而且这个jvmRoute一定要跟 workers.properties 中的名称完全匹配,否则也不能实现session绑定.

 

2.3.1.2 修改 <Cluster /> 标签

将<Cluster />标签注释去掉,代码如下:

可以在\webapps\docs 下找到  cluster-howto.html 把里面的代码COPY进去。



6.测试访问是否互通

访问 http:172.16.116.1/index.jsp看是否能均衡的分配到两台tomcat服务器上.(可以看出,tomcat版本不同)

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值