使用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
下一篇 2015-07-21

相關推薦

  • 邏輯卷的創建、維護和遷移

    邏輯卷管理器(LVM)介紹: 1、允許對卷進行方便操作的抽象層,包括重新設定文件系統的大小 2、允許在多個物理設備間重新組織文件系統 (1)將設備指定為物理卷 (2)用一個或者多個物理卷來創建一個卷組 (3)物理卷是用固定大小的物理區域(Physical Extent,PE)來 定義的 (4)在物理卷上創建的邏輯卷 是由物理區域(PE)組成 (5)可以在邏輯…

    Linux干貨 2017-12-10
  • 馬哥教育網絡班21期第七周作業

    1、創建一個10G分區,并格式為ext4文件系統;   (1) 要求其block大小為2048, 預留空間百分比為2, 卷標為MYDATA, 默認掛載屬性包含acl;   (2) 掛載至/data/mydata目錄,要求掛載時禁止程序自動運行,且不更新文件的訪問時間戳; [root@localhost ~]#…

    Linux干貨 2016-10-09
  • rpm數據庫損壞 不能使用正常使用yum的處理方法

           不知道有沒有跟我一樣的小伙伴,在使用yum安裝軟件時,發現無法正常使用yum安裝軟件包,下面出現幾句英語提示。在使用rpm時也無法正常的使用。其實 是rpm數據庫崩潰導致的 下面就簡單的介紹一下怎么回復,讓其正常的工作,很簡單幾個命了即可。 1. 出現錯誤提示,這時我們需要認真的閱讀下面的提示,不要亂找原…

    Linux干貨 2017-06-13
  • egrep及文本處理工具十三道實例

    1、復制/etc/skel目錄為/home/tuser1,要求/home/tuser1及其內部文件的屬組和其它用戶均沒有任何訪問權限。 2、編輯/etc/group文件,添加組hadoop。 3、手動編輯/etc/passwd文件新增一行,添加用戶hadoop,其基本組ID為hadoop組的id號;其家目錄為/home/hadoop。 4、復制/etc/sk…

    2018-03-20
  • MySQL入門命令知識

    簡單介紹下吧,MySQL應用的場景大多數互聯網公司第一次賣身是賣個了sun好像是10億,第二次是連同sun自己,以74億美元被賣給了Orecle~后面MySQL原作者站出來說,MySQL會存在閉源風險,整了個MariaDB~我也是醉了,也不考慮下我們的痛苦!下面簡要介紹下MySQL的入門知識。    一、MySQL有三種定義語言 &nbs…

    2016-12-05
  • Linux基礎 & bash相關

    Q1:Linux上的文件管理類命令都有哪些,其常用的使用方法及其相關示例演示。 文件管理類命令: cd, ls, touch, cp, mv, rm, cat, tac, more, less, tail, head; 詳細介紹以上命令: cd: 在Linux文件系統上,可以使用切換目錄命令cd將shell會話切換到另一個目錄。 命令格式: ~]#&nbsp…

    Linux干貨 2016-11-06
欧美性久久久久