手机版
你好,游客 登录 注册
背景:
阅读新闻

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

[日期:2016-12-28] 来源:Linux社区  作者:sinat_37073641 [字体: ]

环境CentOS6.8
linux1 192.168.1.120  Apache2.2
linux2 192.168.1.121  Tomcat7
linux3 192.168.1.122  Tomcat7
 
Apache+Tomcat集群负载均衡 还有一种方法是利用apache自带的proxy,有时间会再次学习配置一下
 
Linux1上配置apache:
1.去Tomcat官网下载mod_jk
  http://tomcat.apache.org/download-connectors.cgi
  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。

更多Tomcat相关教程见以下内容

CentOS 6.6下安装配置Tomcat环境  http://www.linuxidc.com/Linux/2015-08/122234.htm

RedHat Linux 5.5安装JDK+Tomcat并部署Java项目  http://www.linuxidc.com/Linux/2015-02/113528.htm 

Tomcat权威指南(第二版)(中英高清PDF版+带书签)  http://www.linuxidc.com/Linux/2015-02/113062.htm 

Tomcat 安全配置与性能优化 http://www.linuxidc.com/Linux/2015-02/113060.htm 

Linux下使用Xshell查看Tomcat实时日志中文乱码解决方案 http://www.linuxidc.com/Linux/2015-01/112395.htm 

CentOS 64-bit下安装JDK和Tomcat并设置Tomcat开机启动操作步骤 http://www.linuxidc.com/Linux/2015-01/111485.htm 

CentOS 6.5下安装Tomcat  http://www.linuxidc.com/Linux/2015-01/111415.htm 

Tomcat中session的管理机制  http://www.linuxidc.com/Linux/2016-09/135072.htm

Tomcat 的详细介绍请点这里
Tomcat 的下载地址请点这里

本文永久更新链接地址http://www.linuxidc.com/Linux/2016-12/138910.htm

linux
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款