zoukankan      html  css  js  c++  java
  • apache mod_jk

    1. Tomcat与Apache整合(mod_jk): 
    2.  
    3. 从Tomcat权威指南中的测试数据,我们不难发现,对于静态页面的数据,Tomcat的处理速度比Apache要快很多,
    4. 所以为什么要整合 apache?虽然在处理静态页面速度上比Apache快,但是Tomcat经不起大的并发量,容易死。为此,我们就需要Apache,虽然Apache的速度要慢一 
    5.  
    6. 些,但能承受的起大的并发量。因此,有了本文。 
    7.  
    8. 三种负载: 
    9. mod_proxy_http 是 APAHCE 的 HTTP proxy,对静态页面还好,对动态页面效果不佳。 
    10. mod_proxy_ajp ,  是 APACHE 的 AJP 的 proxy, 好像是 apache 2.2 以后的版本才有(最好还是去对文档看看),只支持 AJP 13 
    11. mod_jk ,是 tomcat 的 apache 扩展 module(tomcat-connectors),可支持 AJP 12/13,JNI 以及 Loadblance.
    12. 简单多就是跟proxy 效果虽然差不多但不是一个起跑线。 
    13.  
    14. 整个思路: 
    15. 1、安装Apache 
    16. 2、安装tomcat 
    17. 3、安装mod_jk 
    18. 4、加载mod_jk 
    19. 5、关闭tomcat的侦听端口 
    20. 6、应用分离(静态与动态页面分离) 
    21.  
    22.  
    23. 环境介绍: 
    24. OS:CentOS 5.7 
    25. SOFT:Tomcat 6.0+JDK 1.6+Apache 2.2 
    26.  
    27. 编译安装apache 
    28. # ./configure --prefix=/usr/local/apache2  --enable-proxy-balancer  
    29. --enable-proxy-http --enable-proxy-connect  --enable-proxy  
    30. --enable-rewrite --enable-proxy-ajp  
    31. 中间曾发生过,make失败的情况,最后发现是部分文件的所有者没有变为root,造成失败!
    32. # make && make install  
    33.  
    34. 编译模块mod_jk: 
    35.  
    36. # tar -xzf tomcat-connectors-1.2.32-src.tar.gz 
    37. # cd tomcat-connectors-1.2.32-src/ 
    38. # cd native/ 
    39. # ./configure --with-apxs=/usr/local/apache2/bin/apxs 
    40. # make && make install  
    41. # ll /usr/local/apache2/modules/mod_jk.so  
    42. -rwxr-xr-x 1 root root 1076923 Feb 20 19:14 /usr/local/apache2/modules/mod_jk.so 
    43.  
    44. 加载模块mod_jk: 
    45. # vim /usr/local/apache2/conf/httpd.conf 
    46. LoadModule jk_module modules/mod_jk.so 
    47. JkWorkersFile /usr/local/apache2/conf/workers.properties 
    48. JkMountFile   /usr/local/apache2/conf/uriworkermap.properties 
    49. JkLogFile /usr/local/apache2/logs/mod_jk.log 
    50. JkLogLevel info 
    51. JkLogStampformat "[%a %b %d %H:%M:%S %Y]" 
    52.  
    53. 建立相关定义的文件 
    54. # touch /usr/local/apache2/conf/workers.properties 
    55. # touch /usr/local/apache2/conf/uriworkermap.properties 
    56. # touch /usr/local/apache2/logs/mod_jk.log 
    57.  
    58. # cat workers.properties   #定义tomcat主机 
    59. worker.list=tomcat2 
    60. worker.tomcat2.type=ajp13 
    61. worker.tomcat2.host=localhost 
    62. worker.tomcat2.port=8009 
    63. worker.tomcat2.lbfactor=1 
    64.  
    65. # cat uriworkermap.properties  #定义tomcat处理的文件类型,tomcat不处理的由apache来处理。 
    66. /*=tomcat2   
    67. !/*.jpg=tomcat2  
    68. !/*.gif=tomcat2  
    69. !/*.png=tomcat2  
    70. !/*.bmp=tomcat2  
    71. !/*.html=tomcat2  
    72. !/*.htm=tomcat2  
    73. !/*.swf=tomcat2  
    74. !/*.css= tomcat2  
    75. !/*.js= tomcat2  
    76.  
    77. 关闭tomcat的侦听商品起见(主要是为安全考虑) 
    78.     <!-- 
    79.     <Connector port="8080" protocol="HTTP/1.1"  
    80.                connectionTimeout="20000"  
    81.                redirectPort="8443" />   
    82.     --> 
    83.  
    84. 应用分离: 
    85. 将apache的文档目录修改到/data/webapps,将tomcat的目录修改到/data/webapps 
    86.  
    87. Apache的修改文档目录位置: 
    88. DocumentRoot "/data/webapps" 
    89. ...... 
    90.  
    91. <Directory "/data/webapps"> 
    92.  
    93. tomcat修改的值: 
    94. <Host name="localhost"  appBase="/data/webapps" 
    95.             unpackWARs="true" autoDeploy="true" 
    96.             xmlValidation="false" xmlNamespaceAware="false"> 
    97.  
    98.  
    99. 完成以上部署之后,我们就可以启动apache、tomcat了。访问http://localhost来看看! 
    100. 如何判断,页面是真的分离了呢? 通过不存在的页面,来看报错信息就行了。
    101. 如何确认,mod_jk真正被加载了?
    102. 方法:查看mod_jk的日志。如果出现:
    103. [info] init_jk::mod_jk.c (3252): mod_jk/1.2.32 () initialized 就表明它已经被正常的加载了。
    1. 我不认为,安装完就结束了,其实它只是另一个开始而已。
    2.  
    3. 关于虚拟机的部分:
    4. 以上操作只是对一台机器的动静分离,如果是在某台机器上,有多个虚拟机,并且各自的路径不一样怎么办?
    5. 这个问题,只需要通过在每个虚拟机里定义相应的uriworkermap.properties文件就行了。
    6. <VirtualHost *> 
           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  
      </VirtualHost> 
      
  • 相关阅读:
    【排序】题解_P1093奖学金
    简单了解连接服务器的要求
    centos7安装(纯文字版)
    JAVA虚拟机
    集合
    IO流
    反射
    多线程
    JAVA基础
    博客园皮肤文档
  • 原文地址:https://www.cnblogs.com/diyunpeng/p/4312393.html
Copyright © 2011-2022 走看看