使用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.www58058.com/6370

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

相關推薦

  • 第三周博客作業

    who useradd usermod groupadd

    Linux干貨 2017-12-17
  • 馬哥教育網絡班22期+第3周課程練習

    1、列出系統上所有已登陸的用戶的用戶名,注意:同一個用戶登錄多次,只顯示一次即可。     who | cut -d' ' -f1 | uniq 2、取出最后登錄到當前系統的用戶的相關信息;    &…

    Linux干貨 2016-09-26
  • N22-第一周作業

    1、描述計算機的組成及功能      計算機系統由硬件系統和軟件系統組成。硬件系統(Hardware system)是計算機完成計算工作  的物質基礎。軟件系統(Software system):是在計算機硬件設備上運行的各種程序,是介于用戶  和硬件系統之間的界面。1.1 計算機的硬件系…

    Linux干貨 2016-08-22
  • N25-第七周作業

    1、創建一個10G分區,并格式為ext4文件系統;    (1) 要求其block大小為2048, 預留空間百分比為2, 卷標為MYDATA, 默認掛載屬性包含acl;     ~]# fdisk /dev/sda  (n, +10G 創建10G分區,w保存退出)   &nbsp…

    Linux干貨 2017-01-22
  • 運維第一步

    學友分享各自工作經歷

    2018-03-26
  • N25-Week9

    1. 寫一個腳本,判斷當前系統上所有用戶的shell是否為可登陸shell(即用戶的shell不是/sbin/nologin);分別統計這兩類用戶的個數,通過字符串比較來實現 #! /bin/bash#寫一個腳本,判斷當前系統上所有用戶的shell是否為可登陸shell(即用戶的shell不是/sbin/nologin);#分別統計這兩類用戶的個數#通過字符…

    Linux干貨 2017-03-10
欧美性久久久久