最新版 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">
配置信息如下:
<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为:
<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过滤器,解决了这个问题。
这个问题又白白浪费我时间。早知道就直接用了,尝试那么多次还是失望。
作者:Steven(Steven's Think out)
出处:http://shiyangxt.cnblogs.com
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。