设为首页 收藏本站
查看: 809|回复: 0

[经验分享] Tomcat与Apache整合(mod_jk)

[复制链接]

尚未签到

发表于 2018-11-26 11:35:21 | 显示全部楼层 |阅读模式

  • Tomcat与Apache整合(mod_jk):

  • 从Tomcat权威指南中的测试数据,我们不难发现,对于静态页面的数据,Tomcat的处理速度比Apache要快很多,
  • 所以为什么要整合 apache?虽然在处理静态页面速度上比Apache快,但是Tomcat经不起大的并发量,容易死。为此,我们就需要Apache,虽然Apache的速度要慢一

  • 些,但能承受的起大的并发量。因此,有了本文。

  • 三种负载:
  • mod_proxy_http 是 APAHCE 的 HTTP proxy,对静态页面还好,对动态页面效果不佳。
  • mod_proxy_ajp ,  是 APACHE 的 AJP 的 proxy, 好像是 apache 2.2 以后的版本才有(最好还是去对文档看看),只支持 AJP 13
  • mod_jk ,是 tomcat 的 apache 扩展 module(tomcat-connectors),可支持 AJP 12/13,JNI 以及 Loadblance.
  • 简单多就是跟proxy 效果虽然差不多但不是一个起跑线。

  • 整个思路:
  • 1、安装Apache
  • 2、安装tomcat
  • 3、安装mod_jk
  • 4、加载mod_jk
  • 5、关闭tomcat的侦听端口
  • 6、应用分离(静态与动态页面分离)


  • 环境介绍:
  • OS:CentOS 5.7
  • SOFT:Tomcat 6.0+JDK 1.6+Apache 2.2

  • 编译安装apache
  • # ./configure --prefix=/usr/local/apache2  --enable-proxy-balancer \
  • --enable-proxy-http --enable-proxy-connect  --enable-proxy \
  • --enable-rewrite --enable-proxy-ajp  
  • 中间曾发生过,make失败的情况,最后发现是部分文件的所有者没有变为root,造成失败!
  • # make && make install  

  • 编译模块mod_jk:

  • # tar -xzf tomcat-connectors-1.2.32-src.tar.gz
  • # cd tomcat-connectors-1.2.32-src/
  • # cd native/
  • # ./configure --with-apxs=/usr/local/apache2/bin/apxs
  • # make && make install  
  • # ll /usr/local/apache2/modules/mod_jk.so  
  • -rwxr-xr-x 1 root root 1076923 Feb 20 19:14 /usr/local/apache2/modules/mod_jk.so

  • 加载模块mod_jk:
  • # vim /usr/local/apache2/conf/httpd.conf
  • LoadModule jk_module modules/mod_jk.so
  • JkWorkersFile /usr/local/apache2/conf/workers.properties
  • JkMountFile   /usr/local/apache2/conf/uriworkermap.properties
  • JkLogFile /usr/local/apache2/logs/mod_jk.log
  • JkLogLevel info
  • JkLogStampformat "[%a %b %d %H:%M:%S %Y]"

  • 建立相关定义的文件
  • # touch /usr/local/apache2/conf/workers.properties
  • # touch /usr/local/apache2/conf/uriworkermap.properties
  • # touch /usr/local/apache2/logs/mod_jk.log

  • # cat workers.properties   #定义tomcat主机
  • worker.list=tomcat2
  • worker.tomcat2.type=ajp13
  • worker.tomcat2.host=localhost
  • worker.tomcat2.port=8009
  • worker.tomcat2.lbfactor=1

  • # cat uriworkermap.properties  #定义tomcat处理的文件类型,tomcat不处理的由apache来处理。
  • /*=tomcat2   
  • !/*.jpg=tomcat2  
  • !/*.gif=tomcat2  
  • !/*.png=tomcat2  
  • !/*.bmp=tomcat2  
  • !/*.html=tomcat2  
  • !/*.htm=tomcat2  
  • !/*.swf=tomcat2  
  • !/*.css= tomcat2  
  • !/*.js= tomcat2  

  • 关闭tomcat的侦听商品起见(主要是为安全考虑)
  •      

  • 应用分离:
  • 将apache的文档目录修改到/data/webapps,将tomcat的目录修改到/data/webapps

  • Apache的修改文档目录位置:
  • DocumentRoot "/data/webapps"
  • ......



  • tomcat修改的值:



  • 完成以上部署之后,我们就可以启动apache、tomcat了。访问http://localhost来看看!
  • 如何判断,页面是真的分离了呢? 通过不存在的页面,来看报错信息就行了。
  • 如何确认,mod_jk真正被加载了?
  • 方法:查看mod_jk的日志。如果出现:

  • [info] init_jk::mod_jk.c (3252): mod_jk/1.2.32 () initialized  就表明它已经被正常的加载了。

  • 我不认为,安装完就结束了,其实它只是另一个开始而已。

  • 关于虚拟机的部分:
  • 以上操作只是对一台机器的动静分离,如果是在某台机器上,有多个虚拟机,并且各自的路径不一样怎么办?
  • 这个问题,只需要通过在每个虚拟机里定义相应的uriworkermap.properties文件就行了。


  • ServerAdmin admin@example.com  
    DocumentRoot /data/www  
    ServerName 192.168.1.8  
    ErrorLog logs/error_log  
    CustomLog logs/access_log common  
    JkMountFile  conf/uriworkermap.properties  






运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-639805-1-1.html 上篇帖子: Apache服务器之 下篇帖子: apache下redirectmatch的使用
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表