日期:2014-05-16  浏览次数:20641 次

linux下apache2.2.3+tomcat6.0的整合1(http_proxy,ajp_proxy)

这两天准备在服务器上整合一下apache2.2.3+tomcat6.0。因为以前没弄过,所以花了近一天的时间查资料。不停测试才弄好。所以准备和大家分享一下。

1、在网上找了大半天,安装包啊。资料啊。下了不少。但是网上实在说得是比较乱。实在比较痛苦,半天奋战后。才终于搞清楚。整合有三种方式:(1)mod-jk(2)http_proxy(3)ajp_proxy

2、网上所介绍的基本都是mod-jk,而且也比较老。没有什么新的,还得装这装那。比较麻烦。但是它有个好处,可以按照文件类型进行配置。但是我是新手,也不要求这么高级,所以选择剩下这两种比较简单的方式。我看了一下我的apche2.2.3中有http_proxy这个模块,但是没有ajp_proxy模块。简单了,选择http_proxy方式就顺理成章了。

注:

安装模块简单:例如:把下载的相应文件放到apche安装目录的modules下就可以了,然后在apche的配置文件 httpd.conf中加入LoadModule proxy_http_module modules/mod_proxy_http.so就可以了

3、apache的虚拟主机的配置

<VirtualHost 74.xxx.xxx.xxx> #xxx.xx这里代表服务器的IP 
DocumentRoot "/home/website/test" 
ServerName www.test.cn 
<Directory "/home/website/test"> 
allow from all 
Options +Indexes 
</Directory> 
ServerAlias test.cn 
ProxyPass /images ! 
ProxyPass /css ! 
ProxyPass /js ! 
ProxyPass / http://www.test.cn:8080/ 
#注意网上一般是这里没说清楚,这里是tomcat中虚拟主机的名字,你的tomcat中与之对应的虚拟主机 
</VirtualHost> 

?? 注意

??? ProxyPass / http://www.test.com:8080/
??? #注意网上一般是这里没说清楚,这里是tomcat中虚拟主机的名字,你的tomcat中与之对应的虚拟主机,网上一般就写个/ http://localhost:8080/ 了事,也不给个说明,让我折腾了半天才弄明白

?

?4、tomcat虚拟主机的配置(注意两者的对应)

?????

    <Host name="www.test.cn"  appBase="/home/website/test"
            unpackWARs="true" autoDeploy="true"
            xmlValidation="false" xmlNamespaceAware="false">
             <Context  path="" docBase="/home/website/test" debug="1" privileged="true" reloadable="true">
    </Context></Host>

?5、分别在/home/website/test,下放一index.html和index.jsp.重新启动tomcat和apche.Ok.整合完成

????? 有什么不对和需要改进的地方,请大家指正

二、关于ajp的链接方式

1、在网上很多配置告诉我们

????

网络资料 写道
1. 开启代理模块
httpd.conf 文件中
#LoadModule proxy_module modules/mod_proxy.so
#LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
#LoadModule proxy_balancer_module modules/mod_proxy_balancer.so

引入虚拟主机文件
# Virtual hosts
#Include conf/extra/httpd-vhosts.conf

去掉 #

?

2、在2.2.3中并没有 LoadModule proxy_ajp_module modules/mod_proxy_ajp.so

???? 这句话。如果你在2.2.3的配置文件中自己加上这句话,在重启,apache会提示你mod_proxy_ajp.so已经加载了。

3、打开 /modules文件夹,可以发现这个模块存在于这个文件夹下。那么毫无疑问,即使 没有

??? LoadModule proxy_ajp_module modules/mod_proxy_ajp.so 这句话。但是这个模块的确已经加载

4、那么你只需将http改为ajp.将端口改为相应的端口,ajp的方式便配置成功了。

?