apache以mod_jk方式反向代理tomcat

2016-11-04 08:55:59 3535

mod_jk是一个工作于apache端基于AJP协议与Tomcat通信的连接器,它是apache的一个模块,是AJP协议的客户端(服务端是Tomcat的AJP连接器),这个模块默认没有被编译进系统自带的rpm包,所以要自己编译这个连接器。下载地址:http://www.landui.com/download-connectors.cgi,而要把模块编译进httpd需要httpd-devel环境,如果没有安装此环境,请用“yum -y install httpd-devel”安装。

3.1、mod_jk模块编译安装

[root@master software]# tar xf tomcat-connectors-1.2.40-src[root@master software]# cd tomcat-connectors-1.2.40-src[root@master tomcat-connectors-1.2.40-src]# lsconf  docs  HOWTO-RELEASE.txt  jkstatus  LICENSE  native  NOTICE  README.txt  support  tools  xdocs
[root@master tomcat-connectors-1.2.40-src]# cd native/[root@master native]# ./configure --with-apxs=/usr/sbin/apxs[root@master native]# make && make install[root@master native]# ls /usr/lib64/httpd/modules/ | grep mod_jk   #安装好后模块生成mod_jk.so

3.2、基于mod_jk的配置

[root@master conf.d]# pwd /etc/httpd/conf.d
[root@master conf.d]# mv virtual.conf virtual.conf.back  #先把基于proxy_moduel反向代理tomcat的配置文件禁用掉

再去启用/etc/httpd/conf/http.conf主配置文件中的中心主机,即启用“DocumentRoot /var/www/html”

[root@master conf.d]# vim mod_jk.confLoadModule jk_module modules/mod_jk.soJkWorkersFile /etc/httpd/conf.d/workers.properties
JkMountFile /etc/httpd/conf.d/uriworkermap.properties
JkLogFile logs/mod_jk.logJkLogLevel warn   #在调试时可设置为debug[root@master conf.d]# vim workers.properties 
worker.list=TomcatA,statA
worker.TomcatA.host=192.168.0.201worker.TomcatA.port=8009worker.TomcatA.type=ajp13
worker.TomcatA.lbfactor=1worker.statA.type=status
[root@master conf.d]# vim uriworkermap.properties 
/*=TomcatA
/jkstatus=statA

编辑tomcat主配置文件:

[root@master conf.d]# vim /usr/local/tomcat/conf/server.xml  #在Engine中最后加上“jvmRoute=TomcatA”...略...<Engine name="Catalina" defaultHost="localhost" jvmRoute=TomcatA>...略...[root@master conf.d]# service httpd restart[root@master conf.d]# service tomcat restart

重启服务后,网站也可正常访问,但这里没有涉及到站点动静分离。


提交成功!非常感谢您的反馈,我们会继续努力做到更好!

这条文档是否有帮助解决问题?

非常抱歉未能帮助到您。为了给您提供更好的服务,我们很需要您进一步的反馈信息:

在文档使用中是否遇到以下问题: