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

Apache + Tomcat 配置多个应用
今天在网上发现一篇帖子 ,Apache + Tomcat 配置多个应用

转:http://www.blogjava.net/sealyu/archive/2008/08/25/224326.html

需求概况:
有2个服务:www.test.com, bbs.test.com。分别对应2个tomcat下的2个web应用。由apache httpd作为互联网接入服务器,在80端口接收对这2个服务的请求。apache httpd再将这2个请求分别对应到不同的后端web服务器(Tomcat)处理。

暂时自己还没安装成功 ,不过折腾了一天,特别是在找 mod_proxy_**.so  文件的时候
后来发现这些so文件可以自己编译生成的 ,所以和大家分享下

进入moudls目录
../apache/bin/apxs -c -i -a mod_proxy_http.c   --可以生成 mod_proxy_http.so
其他的类似 ,../apache/bin/apxs -c -i -a mod_proxy_**.c
但是生成 mod_proxy.so 的时候好像有点 不一样
../apache/bin/apxs -c -i -a mod_proxy.c proxy_util.c

下载 http://download.csdn.net/detail/bdk82924/5019862

最近在服务器上需要配置多个应用,使用apache+tomcat搭配,采用mod_jk进行分配。
刚开始在同一个tomcat中配置了多个应用,后来感觉效果不好,改为每个tomcat对应一个应用。搜索资料如下:
apache2.2与tomcat集成(可以多个tomcat)
1. 安装apache2.2 参见:http://ttitfly.javaeye.com/admin/show/127337


3.配置域名映射到本机即127.0.0.1,同时配置service域名

127.0.0.1    localhost www.test.com www.service.test.com bbs.test.com bbs.service.test.com   
127.0.0.1    localhost www.test.com www.service.test.com bbs.test.com bbs.service.test.com


4. 分别在2个tomcat里分别部署一个非常简单的应用。

第一个tomcat :端口:8080

编辑$TOMCAT_HOME/conf/server.xml

添加一个Host
<Host name="www.service.test.com" unpackWARs="true" autoDeploy="true"   
xmlValidation="false" xmlNamespaceAware="false"/>   
<Host name="www.service.test.com" unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false"/>


再在$TOMCAT_HOME/conf/Catalina下建立一个目录:www.service.test.com
然后在www.service.test.com目录下建立一个ROOT.xml,内容为:

<Context docBase="/home/mahaibo/app/test"   
privileged="true" antiResourceLocking="false" antiJARLocking="false">    
</Context>   
<Context docBase="/home/mahaibo/app/test"
privileged="true" antiResourceLocking="false" antiJARLocking="false">
</Context>

docBase指向具体的项目路径

同理第二个tomcat(端口8088)也是一样的做法:

编辑$TOMCAT_HOME/conf/server.xml

添加一个Host:

<Host name="bbs.service.test.com" unpackWARs="true" autoDeploy="true"   
xmlValidation="false" xmlNamespaceAware="false"/>   
<Host name="bbs.service.test.com" unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false"/>



然后在$TOMCAT_HOME/conf/Catalina下建立一个目录:bbs.service.test.com

再在bbs.service.test.com目录下建立一个ROOT.xml,内容为:


<Context docBase="/home/mahaibo/app/bbs"  
privileged="true" antiResourceLocking="false" antiJARLocking="false">   
</Context>  
<Context docBase="/home/mahaibo/app/bbs"
privileged="true" antiResourceLocking="false" antiJARLocking="false">
</Context>


5. 分别启动tomcat,可以通过http://www.service.test.com:8080和http://bbs.service.test.com:8088访问

6. 配置apache httpd.conf文件。

找到apach/conf/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    
LoadModule proxy_connect_module modules/mod_proxy_connect.so    
LoadModule proxy_http_module modules/mod_proxy_http.so    
LoadModule proxy_ftp_module modules/mod_proxy_ftp.so   
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
LoadModule proxy_connect_module modules/mod_proxy_connect.so
LoadModule proxy_http_module modules/mod_proxy_http.so
LoadModule proxy_ftp_module modules/mod_proxy_ftp.so