Apache2.2+Mod_jk+Tomcat7集群 负载均衡

环境CentOS6.8
linux1 192.168.1.120  Apache
linux2 192.168.1.121  tomcat1
linux3 192.168.1.122  tomcat2
apache和tomcat的安装方法见上两篇

Apache+Tomcat集群负载均衡 还有一种方法是利用apache自带的proxy,有时间会再次学习配置一下

Linux1上配置apache:
1.去Tomcat官网下载mod_jk 
   tomcat-connectors-1.2.42-src.tar.gz

2.安装jk
   [root@linux1 ~]# tar -zxvf tomcat-connectors-1.2.42-src.tar.gz
   [root@linux1 ~]# cd tomcat-connectors-1.2.42-src
   [root@linux1 ~]# ./configure --with-apxs=/usr/local/apache2/bin/apxs
   [root@linux1 ~]# make
   [root@linux1 ~]# make install
   注意:系统中需要装有jdk 并配置环境变量

3.配置httpd.conf
   [root@linux1 ~]#vi /usr/local/apache2/conf/httpd.conf
在LoadModule下面添加
LoadModule jk_module modules/mod_jk.so
JkWorkersFile /usr/local/apache2/conf/workers.properties
JkLogFile logs/mod_jk.log
JkLogLevel warn
JkMount /* controller
JkMount /*.jsp controller

4.编辑worker.properties文件
   [root@linux1 conf]# vi workers.properties
worker.list = controller,tomcat1,tomcat2
#========tomcat1========
worker.tomcat1.port=8009
worker.tomcat1.host=192.168.1.121
worker.tomcat1.type=ajp13
worker.tomcat1.lbfactor=1


#========tomcat2========
worker.tomcat2.port=8009
worker.tomcat2.host=192.168.1.122
worker.tomcat2.type=ajp13
worker.tomcat2.lbfactor=1

#======controller=======
worker.controller.type=lb
worker.controller.balanced_workers=tomcat1,tomcat2
worker.controller.sticky_session=1

5.重启httpd服务看下有没有错误
   [root@linux1 conf]# service httpd restart

linux2上配置Tomcat,linux3上一样配置
1.配置sever.xml
   [root@linux2 conf]# vi server.xml
找到
    <!-- You should set jvmRoute to support load-balancing via AJP ie :
    <Engine name="Catalina" defaultHost="localhost" jvmRoute="jvm1">
    -->
    <Engine name="Catalina" defaultHost="localhost" >
改为
    <Engine name="Catalina" defaultHost="localhost" jvmRoute="tomcat1">
可以将上面的注释去掉并改掉jvmRoute
也可以直接在没有注释的那句后面加上jvmRoute
注意:jvmRoute的名字就是在workers.properties中的worker的名字


找到
<!--
<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>
-->
把注释去掉

2.建立测试页面
   [root@linux2 tomcat]# cd webapps
   [root@linux2 webapps]# mkdir test
   [root@linux2 webapps]# cd test
   [root@linux2 test]# vi test.jsp
<%@ page contentType="text/html; charset=utf-8" %>
<%@ page import="java.util.*" %>
<html>
        <head>
                <title>Cluster Test</title></head>
        <body>
                Session ID= <%= session.getId()%>
        </body>
</html>

开始测试
启动apache和tomcat
可以先看看变化,没有配置集群前,浏览器中输入192.168.1.120
可以看到是apache的测试页面

在集群配置完成之后,再次打开该页面会发现
打开的已经是tomcat的系统界面了,这说明apache已经将请求发给了tomcat

然后再测试刚刚的jsp页面,浏览器输入192.168.1.120/test/test.jsp
为了区别明显,同时再用另一种浏览器打开
可以看到打印出两个不同的session id  服务器将请求发给了两个tomcat

  • 0
    点赞
  • 0
    收藏
  • 打赏
    打赏
  • 0
    评论

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

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:编程工作室 设计师:CSDN官方博客 返回首页
评论

打赏作者

P是shi的叹息

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值