使用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第七周RAID LV 概述及示例,swap创建,read 特殊用法以及bash脚本示例

    1、创建一个10G分区,并格式为ext4文件系统; (1) 要求其block大小为2048, 预留空间百分比为2, 卷标为MYDATA, 默认挂载属性包含acl; (2) 挂载至/data/mydata目录,要求挂载时禁止程序自动运行,且不更新文件的访问时间戳; mke2fs -t ext4 -b 2048 …

    Linux干货 2017-01-04
  • N22-第十二周作业

    1、请描述一次完整的http请求处理过程; (1)建立或处理连接:接受请求或拒绝请求 (2)接收请求:接收来自于网络上的主机请求报文中对某特定资源的一次请求的过程 (3)处理请求:对请求报文进行解析,获取客户端请求的资源及请求方法等相关信息 (4)访问资源:获取请求报文中请求的资源 (5)构建响应报文 (6)发送响应报文 (7)记录日志:访问日志和错误日志 …

    Linux干货 2016-11-04
  • N21_迟来的第三周练习

    最近忙成狗,落后了许多 1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。 # who | cut -d ' ' -f1 | uniq 2、取出最后登录到当前系统的用户的相关信息。 # last&nbsp…

    Linux干货 2016-08-02
  • 第一天心得体会

    初次见面,你好

    2018-03-26
  • linux磁盘管理

    硬盘接口类型:         IDE:并口,133M/s;100个IO/s        SCSI:并口,UltraSCSI320,320M/s UltraSCSI640 640M/s 150-200IO/s&nbsp…

    Linux干货 2016-08-29
  • find—查找条件

    find—查找条件    目 录 一、根据时间戳查找: 二、根据权限查找 三、根据文件所属人owner,文件所属组group查找 四、根据搜索层级查找 五、根据文件名查找 六、根据文件类型查找    find实时查找工具,通过遍历指定路径完成文件查找 (1)工作特点: 查找速度略慢 精确查找 实时查找 可以只…

    Linux干货 2017-08-13