apache2整合tomcat5--再次冲击Ubuntu之server篇

  本来是用ubuntu上apt-get装的apache2,但是怎么都无法与tomcat5整合,网上有很多介绍,基本都是使用mod_jk-apache-2.2.4.so,通过它来转发请求到tomcat,按照下面的帖子我完全配置好了(因为不会编译,所以搜了这个帖子直接下mod_jk的编译版本):Apache与Tomcat整合,但是跑起来后apache2怎么都不分发请求到tomcat。

  由于有人提到mod_jk需要跟apache以及tomcat的版本匹配,我对此又没多少研究,只能怀疑是否是apache版本与mod_jk不匹配,无奈之下删掉原来的apache2,重新到apache网站上下载了httpd-2.2.14.tar.gz,再根据《apache2.2和tomcat 5.5安装和配置方法》介绍的方法重新编译,安装apache2。没想到根本不需要使用mod_jk,直接配置成功,似乎是apache2的proxy功能直接代理了ajp协议转发。下面是主要步骤:

1、安装java、tomcat(此处略过)。
2、安装apache2,复杂一些,编译要运行3个命令:
    1)./configure --prefix=/opt/apache2 --enable-rewrite=shared --enable-proxy=shared。此名命令需要在httpd-2.2.14的目录下运行,prefix参数指明了最终需要安装apache2到哪个目录。enable-proxy参数是关键,用来转发请求到tomcat。需要先apt-get install build-essential。
    2)make
    3)make install
3、配置apache2,修改httpd.conf文件,加入/修改下面的内容:
    ServerName localhost
    
<IfModule proxy_module>
      ProxyPass /images !
      #ProxyPass / http://localhost:8080/
      #使用proxy_ajp代理;下面的配置,是把所有目录全用代理(当然,还会跟上面的禁用配置组合成完整的规则)
    ProxyPass / ajp://127.0.0.1:8009/ keepalive=Off
    ProxyPassReverse / ajp://127.0.0.1:8009/
    
</IfModule>
    理论上ProxyPass应该能将请求转发到其他机器上的tomcat,但我没弄成功,下次吧。

 

 

posted @ 2010-02-07 14:37  badwood  阅读(490)  评论(0编辑  收藏  举报
Badwood's Blog