t4r23 发表于 2015-3-2 08:17:34

Apache的负载均衡之mod_jk模块实现

先配置mod_jk的代理功能,# yum install -y httpd-devel
# rpm -ql httpd-devel
/usr/sbin/apxs
apxs是httpd安装外部模块必备的

# yum groupinstall"Development Tools" "Server Platform Development" -y //所需要的包组。
    编译安装需要的环境。
# tar xftomcat-connectors-1.2.40-src.tar.gz
# ls
a                            install.log            oracle
apache-tomcat-7.0.56.tar.gzinstall.log.syslog       root20141030092112523.zip
apache-tomcat-8.0.20.tar.gzjdk-8u31-linux-i586.rpmtomcat-connectors-1.2.40-src
b                            lamp                  tomcat-connectors-1.2.40-src.tar.gz
# cd tomcat-connectors-1.2.40-src
# ls
conf docsHOWTO-RELEASE.txtjkstatus LICENSEnativeNOTICE README.txtsupporttools xdocs
# cdnative/
# ls
aclocal.m4 apache-2.0    BUILDING.txtconfigure    docsMakefile.amnetscape   scripts   TODO.txt
apache-1.3 buildconf.shcommon      configure.aciisMakefile.inREADME.txtSTATUS.txt
# ./configure--with-apxs=/usr/sbin/apxs
# make && makeinstall
            。
            。
            。
----------------------------------------------------------------------
chmod 755/usr/lib64/httpd/modules/mod_jk.so

Please be sure to arrange/etc/httpd/conf/httpd.conf...

make: Leaving directory`/root/tomcat-connectors-1.2.40-src/native/apache-2.0'
make: Entering directory`/root/tomcat-connectors-1.2.40-src/native'
make: Entering directory`/root/tomcat-connectors-1.2.40-src/native'
make: Nothing to be done for`install-exec-am'.
make: Nothing to be done for`install-data-am'.
make: Leaving directory`/root/tomcat-connectors-1.2.40-src/native'
make: Leaving directory`/root/tomcat-connectors-1.2.40-src/native'

# cd /etc/httpd
# ls
conf conf.dlogsmodules run
# cd conf.d/
# ls
php.conf READMEwelcome.conf
# vim mod_jk.conf
# Load the mod_jk
LoadModule jk_modulemodules/mod_jk.so
JkWorkersFile/etc/httpd/conf.d/workers.properties
JkLogFile logs/mod_jk.log
JkLogLevel debug
JkMount /*TomcatA
JkMount /status/statA
~                                    
# vim/etc/httpd/conf.d/workers.properties
worker.list = TomcatA,statA
worker.TomcatA.port=8009
worker.TomcatA.host=192.168.1.116
worker.TomcatA.type=ajp13
worker.TomcatA.lbfactor=1
worker.statA.type = status

# httpd -t
Syntax OK
# service httpd restart
Stopping httpd:                                          
Starting httpd:                                          [ OK]
#
    至此,一个基于mod_jk模块与后端名为TomcatA的worker通信的配置已经完成,重启httpd服务即可生效。


    还有状态信息


要实现负载均衡,至少需要两个tomcat还在本机上操作,配置另一个版本的tomcat,配置完成之后访问http://192.168.1.116:9080   mod_jk可直接支持负载均衡,需要启用一个特殊型的worker:lb。# vim mod_jk.conf
#Load the mod_jk
LoadModule jk_modulemodules/mod_jk.so
JkWorkersFile/etc/httpd/conf.d/workers.properties
JkLogFile logs/mod_jk.log
JkLogLevel debug
JkMount /*lbcluster1
JkMount /status/statA
~                     
# vim workers.properties
worker.list = lbcluster1,statA
worker.TomcatA.port=8009
worker.TomcatA.host=192.168.1.116
worker.TomcatA.type=ajp13
worker.TomcatA.lbfactor=1
worker.TomcatB.port=9009
worker.TomcatB.host=192.168.1.116
worker.TomcatB.type=ajp13
worker.TomcatB.lbfactor=1
worker.lbcluster1.type = lb
sorker.lbcluster1.sticky_session = 0
worker.lbcluster1.balance_workers =TomcatA, TomcatB
worker.statA.type = status
~                                                                                                         
# httpd -t
Syntax OK
# service httpd restart
Stopping httpd:                                          
Starting httpd:                                          
#
    到此mod_jk实现负载均衡就配置好了,测试如下。
    访问http://192.168.1.116

    再次刷新


页: [1]
查看完整版本: Apache的负载均衡之mod_jk模块实现