apache整合tomcat


------------------------------linux下安装apache---------------------------------------------
1: 下载httpd-2.2.11.tar.gz  并解压: tar zxvf httpd-2.2.11.tar.gz
2: 进入解压后的目录。
3: ./configure --prefix=/opt/apachenew --enable-mods-shared=proxy
   ./configure --prefix=/opt/apachenew --enable-so --enable-module=all --enable-mods-shared=all
4: make   //#make WITH_PROXY_MODULES=yes  未验证
5: make install
6: ./bin/apachectl start //stop restart

将httpd.conf的ServerName注释去掉,并改成192.168.0.104:80。不然apache启动的时候会报一个警告。
查看编译进apache的模块: httpd -l


------------------------------Apache虚拟主机配置(针对静态内容)------------------------------
修改httpd.conf文件
1:
<Directory />
    Options FollowSymLinks
    AllowOverride None
    Order deny,allow
    Allow from all      //将原来的Deny from all 设置成 Allow from all
</Directory>

2:将Include conf/extra/httpd-vhosts.conf前的注释去掉

3:编辑conf/extra/httpd-vhosts.conf文件,增加:
<VirtualHost *:80>
    ServerAdmin lxh@zhjedu.com
    DocumentRoot "D:/Apache2.2/mydocs/aaa"
    ServerName aaa.lxh.com
    ErrorLog "logs/aaa-error.log"
    CustomLog "logs/aaa-access.log" common
</VirtualHost>

<VirtualHost *:80>
    ServerAdmin lxh@zhjedu.com
    DocumentRoot "D:/Apache2.2/mydocs/bbb"
    ServerName bbb.lxh.com
    ErrorLog "logs/bbb-error.log"
    CustomLog "logs/bbb-access.log" common
</VirtualHost>


---------------------------apache通过代理整合tomcat方法------------------------------------

方法一:

在Apache中修改httpd.conf文件,启用proxy_module和proxy_ajp_module:
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_ajp_module modules/mod_proxy_ajp.so

然后在Apache的httpd.conf文件中增加如下几行:

#禁止使用proxy_ajp代理的目录:
ProxyPass /examples/ !

#使用proxy_ajp代理;下面的配置,是把所有目录全用代理(当然,还会跟上面的禁用配置组合成完整的规则)
ProxyPass / ajp://127.0.0.1:8009/
ProxyPassReverse / ajp://127.0.0.1:8009/


重启一下apache,就可通过apache来访问tomcat的服务了。



方法二:

在Apache中修改httpd.conf文件,启用proxy_module和proxy_http_module:
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so

然后在Apache的httpd.conf文件中增加如下几行:

ProxyPass / http://localhost:8080/
ProxyPassReverse / http://localhost:8080/


-------------------------结合Apache虚拟主机和代理整合tomcat---------------------------------
修改httpd.conf文件
1:
<Directory />
    Options FollowSymLinks
    AllowOverride None
    Order deny,allow
    Allow from all      //将原来的Deny from all 设置成 Allow from all
</Directory>
2:将Include conf/extra/httpd-vhosts.conf前的注释去掉
3:编辑conf/extra/httpd-vhosts.conf文件,增加:
<VirtualHost *:80>
    ServerAdmin lxh@zhjedu.com
    ProxyPass / ajp://127.0.0.1:8009/
    ProxyPassReverse / ajp://127.0.0.1:8009/
    ServerName ccc.lxh.com
    ErrorLog "logs/ccc-error.log"
    CustomLog "logs/ccc-access.log" common
</VirtualHost>

<VirtualHost *:80>
    ServerAdmin lxh@zhjedu.com
    ProxyPass / ajp://127.0.0.1:8099/
    ProxyPassReverse / ajp://127.0.0.1:8099/
    ServerName ddd.lxh.com
    ErrorLog "logs/ddd-error.log"
    CustomLog "logs/ddd-access.log" common
</VirtualHost>


---------------------------------虚拟目录配置----------------------------------------------
修改httpd.conf文件,增加以下内容:

Alias /vdir "D:/vdir/"
<Directory "D:/vdir/">
    Options Indexes MultiViews
    AllowOverride None
    Order allow,deny
    Allow from all
</Directory>



附:
-------------------------在Windows Server下集成Apache、Tomcat和IIS-------------------------

我在《Perl、PHP、ASP、JSP技术比较》一文中曾经对四种流行的网站设计语言进行了评测和对比,常言道鱼与熊掌皆我所欲,两者不可兼得,那么有没有一种方法,可以做到鱼与熊掌兼得,同时支持这四种语言的Web服务器呢,今天我就介绍一下基于Windows Server 2003的同时在一个80端口支持这四种语言的方法。

  我们的策略是:安装三个Web服务器,Apache负责支持perl和php,IIS负责支持asp,Tomcat负责支持jsp,通过Apache的proxy_module将三个服务器集成到一个80端口。

  安装的方法是,先安装IIS、Apache和Tomcat,配置Apache使用80端口,Tomcat使用8080端口,IIS使用8081端口。

  接着在Apache中修改httpd.conf文件,启用proxy_module和proxy_http_module,修改的内容是:

    LoadModule proxy_module modules/mod_proxy.so
    LoadModule proxy_http_module modules/mod_proxy_http.so

  然后在Apache的httpd.conf文件中增加如下几行:

    ProxyPass /php !
    ProxyPass /asp/ http://localhost:8081/
    ProxyPassReverse /asp/ http://localhost:8081/
    ProxyPass /jsp/ http://localhost:8080/
    ProxyPassReverse /jsp/ http://localhost:8080/

  然后在<Directory>中设置各个服务所在网站的目录权限,这样php目录即可跑apache,支持php和perl,而asp目录则跑IIS,jsp目录跑Tomcat,全部都可共享80端口,一个端口同时支持Perl、PHP、ASP、JSP四种语言,兼容性很好,性能也不错。

  另外,将上述命令放在<VirtualHost>中,可以实现不同的虚拟主机使用不同的Web服务器,同一个端口同样可以跑多个Web Server,这对于那些出售虚拟主机的人来说很有用,如果你想在一台Windows服务器上配置不同的Web服务的话也可以尝试一下。

  以上配置在Windows Server 2003、Apache 2.2.6、Tomcat 6.0.16、IIS 6.0的环境下调试通过,运行正常。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值