阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

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

164次阅读
没有评论

共计 3096 个字符,预计需要花费 8 分钟才能阅读完成。

环境 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 的测试页面

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

在集群配置完成之后,再次打开该页面会发现

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

打开的已经是 tomcat 的系统界面了,这说明 apache 已经将请求发给了 tomcat

然后再测试刚刚的 jsp 页面,浏览器输入 192.168.1.120/test/test.jsp

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

为了区别明显,同时再用另一种浏览器打开

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

可以看到打印出两个不同的 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

正文完
星哥说事-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计3096字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中