使用httpd反向代理模块实现tomcat负载均衡集群(下)

上一篇讲解了http使用mod_http和mod_ajp代理模块实现tomcat负载均衡,下面我们来讲解使用http的mod_jk实现taomcat的负载均衡集群:

注意:http的mod_jk是第三方扩展模块,在新http版本中以不支持,在httpd 1.3和2.0效果较好

6、使用mod_jk实现tomcat负载均衡集群

6.1安装mod_jk

[root@node3 ~]# yum -y groupinstall "Development Tools" "Server Platfrom Development" \\安装编译环境
[root@node3 conf.d]# yum -y install httpd-devel \\安装httpd的开发包
[root@node3 ~]# tar xf tomcat-connectors-1.2.40-src.tar.gz  -C /usr/src \\解压软件包
[root@node3 ~]# cd /usr/src
[root@node3 src]# cd  tomcat-connectors-1.2.40-src/native/ \\cd解压后软件包的native目录
[root@node3 native]# ./configure --with-apxs=`which apxs`  \\安装mod_jk时是指定httpd的apxs位置
[root@node3 native]# make;make install  安装

6.2 确保httpd含有mod_jk模块

[root@node3 native]# ls -l /usr/lib64/httpd/modules/mod_jk.so
-rwxr-xr-x. 1 root root 1161241 Jul 18 16:44 /usr/lib64/httpd/modules/mod_jk.so

6.3 修改httpd配置文件,(注释掉默认文档存放位置)

[root@node3 conf.d]# pwd
/etc/httpd/conf.d
[root@node3 conf.d]# vim mod_jk.conf
    LoadModule jk_module modules/mod_jk.so  \\装载mod_jk模块
    JkWorkersFile /etc/httpd/conf.d/workers.properties  \\指明运行时配置文件的位置
    JkLogFile  log/mod_jk.log \\指定log日志位置
    JkLogFile  debug  \\指定日志级别,根据需求自定义
    JkMount /*  Cluster  \\将所有httpd请求映射为Cluster集群中,名字自定义
    JkMount /jk_status statA  \\状态监控页面
[root@node3 conf.d]# vim workers.properties 
    worker.list=Cluster,statA  \\工作列表
    worker.TomcatA.type=ajp13  \\定义后端TomcatA主机类型,
    worker.TomcatA.port=8009   \\定义后端主机的监听端口
    worker.TomcatA.host=172.16.2.14  \\定义后端主机地址
    worker.TomcatA.lbfactor=5
    worker.TomcatB.type=ajp13
    worker.TomcatB.port=8009
    worker.TomcatB.host=172.16.2.13
    worker.TomcatB.lbfactor=5
    worker.Cluster.type=lb   \\定义Cluster组的类型;
    worker.Cluster.sticky_session=0  \\会话保持关闭
    worker.Cluster.balance_workers=TomcatA,TomcatB \\将后端主机TomcatA,TomcatB映射到Cluster组中
    worker.statA.type=status \\定义statA的类型
type有三种类型:
  ajb13:用于负载调度
  status:tomcat自身所带的监控页面,类似于httpd的status
  lb:集群类型

6.4 修改tomcat主配置文件,在engine添加以下信息

 node1节点:  
   <Engine name="Catalina" defaultHost="www.mylinux.com" jvmRoute="TomcatA"> \\添加jvmRoute指令
 node2节点
    <Engine name="Catalina" defaultHost="www.mylinux.com" jvmRoute="TomcatB"> \\添加jvmRoute指令
 
 重新启动tomcat:
# catalina.sh stop
# catalina.sh start

6.4 重新启动httpd,访问测试

[root@node3 conf.d]# httpd -t
[root@node3 conf.d]# /etc/init.d/httpd restart

访问测试:

17.png18.png

6.5 开启httpd会话绑定,当客户端第一访问时若是有A主机提供页面信息,则后续的访问都有此主机提供;

 修改配置文件:

[root@node3 conf.d]# vim workers.properties 
worker.list=Cluster,statA
worker.TomcatA.type=ajp13
worker.TomcatA.port=8009
worker.TomcatA.host=172.16.2.14
worker.TomcatA.lbfactor=5
worker.TomcatB.type=ajp13
worker.TomcatB.port=8009
worker.TomcatB.host=172.16.2.13
worker.TomcatB.lbfactor=5
worker.Cluster.type=lb
worker.Cluster.sticky_session=1 \\开启会话保持
worker.Cluster.balance_workers=TomcatA,TomcatB
worker.statA.type=status

重启httpd,测试访问:

[root@node3 conf.d]# httpd -t
[root@node3 conf.d]# /etc/init.d/httpd restart

访问测试:无论怎么刷新,以后请求都会有第一次响应的主机提供页面信息

16.png

原创文章,作者:马行空,如若转载,请注明出处:http://www.178linux.com/6370

(0)
上一篇 2015-07-21 21:53
下一篇 2015-07-21 21:55

相关推荐

  • N25-第一周博客作业

    计算机的组成及其功能 Linux的发行版介绍 Linux的哲学思想 Linux命令格式及一些基础命令 在Linux系统上获取命令的帮助信息 Linux发行版的基础目录 计算机的组成及其功能 简单来说,计算机系统是由 硬件系统(hardware system)和 软件系统(software system)两部分组成。 硬件的基本组成: 运算器、存储器、控制器、…

    Linux干货 2016-12-02
  • shell脚本编程之if条件判断与for、while、until循环

    一、if语句 语法: if 测试条件1 ; then        分支1 elif  测试条件2; then        分支2 … else&nbsp…

    Linux干货 2015-08-24
  • MBR&GPT分区基本原理

    1、磁盘系统为什么要分区?     •     优化I/O性能     •     实现磁盘空间配额限制       &…

    Linux干货 2016-08-30
  • 第二周博客作业

    1、Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。 文件管理类命令:cp,mv,rm 常用的使用方法: cp命令: 单源复制: cp [OPTION]…[-T] SOURCE DEST 多源复制: cp [OPTION]… SOURCE …DIRECTORY cp [OPTION]… …

    Linux干货 2017-02-06
  • 学习学习,复习复习,linux基础中的基础

    计算机的组成及其功能          根据冯诺依曼体系结构构成的计算机,应该具备以下几点功能: l  具有把程序、数据输入到计算机的能力 l  具有长期记忆程序、数据、中间结果以及最终结果的能力 l  能够完成各种算术运算、逻辑运算和数据传输的数据…

    Linux干货 2016-09-25
  • nginx配置文件中文文档

    Nginx配置参数中文说明。 #定义Nginx运行的用户和用户组user www www; #nginx进程数,建议设置为等于CPU总核心数。worker_processes 8; #全局错误日志定义类型,[ debug | info | notice | warn | error | crit ]error_log /var/log/nginx/error…

    Linux干货 2017-08-08