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">
配置信息如下:
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为:
6.启动 Apache 并测试配置,如果版本和我一致的话,应该成功。如果不成功就是路径配置有问题。
都启动好以后,地址栏输入http://localhost/****(tomcat中的项目目录),如果成功进入项目就说明配置成功。
OK,集成完成。
但是此后Apache的ip过滤依旧让人吐血,俺也懒得尝试了,直接用javaeye上一位朋友的servlet过滤器,解决了这个问题。
这个问题又白白浪费我时间。早知道就直接用了,尝试那么多次还是失望。