最新版 apache_2.2.11 与 apache-tomcat-6.0.18 集成方案

            

            apache与tomcat集成有许多优点,我很早以前配置的tomcat负载均衡就是由apache做前端,由apache请求派,

从而发达到负载均衡的,而apache在稳定性上也是强于tomcat的,他们两个的集成可以弥补tomcat许多先天配置的不足。

例如最近的一个ip段过滤的需求要采用这种集成方案。因为tomcat的ip过滤达不到想要的效果,tomcat的ip过滤只能设置

某个ip,而不能设置ip段,十分的不爽,逼着我把apache集成进来。下面讲一讲集成方案。配置这个我采用的版本是:

apache_2.2.11-win32-x86-no_ssl.msi

apache-tomcat-6.0.18免安装版.zip

mod_jk-1.2.28-httpd-2.2.3.so(这个东东的版本比较苛刻,反正我用mod_jk-1.2.28-httpd-2.0.52.so配置的时候就不好使)

 

--------------------------------------------------------------------------------------------------------------

1.将mod_jk-1.2.28-httpd-2.2.3.so复制到E:\Apache2.2\modules(我的apache安装目录),我把他改了下名,方便后面的操作

改名为mod_jk.so。

2.创建 workers.properties 文件,内容如下:

 

# Define 1 real worker using ajp13

worker.list=worker1

# Set properties for worker1 (ajp13)

worker.worker1.type=ajp13

worker.worker1.host=localhost

worker.worker1.port=8009

 

拷贝到E:\Tomcat\conf\jk下,这是我tomcat的安装目录。

 

3.修改 Tomcat server.xml 文件

 

找到下面这行内容并在后面添加配置信息:

   <Engine name="Catalina" defaultHost="localhost">

配置信息如下:

  

 <!-- You should set jvmRoute to support load-balancing via AJP ie :
    <Engine name="Catalina" defaultHost="localhost" jvmRoute="jvm1">         
    
--> 
    
<Engine name="Catalina" defaultHost="localhost">


        
<Listener className="org.apache.jk.config.ApacheConfig" 
           workersConfig
="conf/jk/workers.properties"
           modJk
="E:/Apache2.2/modules/mod_jk.so"
           jkLog
="logs/mod_jk.log"
           jkDebug
="info"
           jkWorker
="worker1" 
           noRoot
="true"
        
/>



      
<!--For clustering, please take a look at documentation at:
          /docs/cluster-howto.html  (simple how to)
          /docs/config/cluster.html (reference documentation) 
-->
      
<!--
      <Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>
      
-->        

 

4.修改 Apache httpd.conf 文件

在文件最后加上

#To be added at the end of your httpd.conf

Include E:/Tomcat/conf/auto/mod_jk.conf

 

5.重启 Tomcat 并自动生成 mod_jk.conf

我生成的mod_jk.conf为:

 

########## Auto generated on Wed Apr 29 18:08:28 CST 2009##########

<IfModule !mod_jk.c>
  LoadModule jk_module "E:/Apache2.2/modules/mod_jk.so"
</IfModule>

JkWorkersFile "E:/Tomcat/conf/jk/workers.properties"
JkLogFile "E:/Tomcat/logs/mod_jk.log"

JkLogLevel info



<VirtualHost localhost>
    ServerName localhost

    JkMount /manager worker1
    JkMount /manager/* worker1

    JkMount /docs worker1
    JkMount /docs/* worker1

    JkMount /examples worker1
    JkMount /examples/* worker1

    JkMount /host-manager worker1
    JkMount /host-manager/* worker1

    JkMount /YangFan worker1
    JkMount /YangFan/* worker1
</VirtualHost>

 

6.启动 Apache 并测试配置,如果版本和我一致的话,应该成功。如果不成功就是路径配置有问题。

都启动好以后,地址栏输入http://localhost/****(tomcat中的项目目录),如果成功进入项目就说明配置成功。

OK,集成完成。

 

但是此后Apache的ip过滤依旧让人吐血,俺也懒得尝试了,直接用javaeye上一位朋友的servlet过滤器,解决了这个问题。

这个问题又白白浪费我时间。早知道就直接用了,尝试那么多次还是失望。

 

posted on 2009-04-29 22:32  俱正Steven  阅读(4589)  评论(2编辑  收藏  举报

导航