apache 多个tomcat 多个应用 整合配置(实战结果)

需求:1、两个应用(应用1为微信公众平台,应用2为商城)中各根据不同的请求域名得到不同的商家信息,如 应用1: http://www.tzhonggou.com 得到商家淘众购的信息,http://www.99tui.net得到商家99推的信息  应用2:shop.tzhonggou.com 得到淘众购商城信息,shop.99tui.net得到遇维码商城的信息 


           2、应用1解析指定的已知域名,应用2为解析未知的泛域名

 

本来想通过apache的proxypass转发达到这种效果,但是proxypass只是单纯的将请求转发,在应用中得不到真实的请求域名,request.getServerName 永远只能获取到apache中转发后的域名,  ----放弃。

百度谷歌一番,发现mod_jk方式更加稳健而且能达到我的需求。

 

废话不多说,直入主题

1,下载mod_jk.so (主意版本统一,我用的是apache2.2.x )

2,vi /etc/httpd/httpd.conf

#加上jk模块

LoadModule jk_module modules/mod_jk.so

#配置jk的文件workers.properties

JkWorkersFile conf/workers.properties

#日志
JkLogFile logs/mod_jk.log

#日志等级
JkLogLevel warn

 

3,配置workers.properties

在apache目录下的conf目录新建workers.properties文件

文件内容:

#下面是分发控制器 注意不要放tomcat实例
worker.list=tomcat1,tomcat2

#Tomcat1实例配置 这里要和Tomcat配置文件Service.xml的jvmRoute保持一致
worker.tomcat1.host=localhost
worker.tomcat1.port=8009
worker.tomcat1.type=ajp13
#分发权重 值越大负载越大
worker.tomcat1.lbfactor=1

#Tomcat2实例配置
worker.tomcat2.host=localhost
worker.tomcat2.port=9009
worker.tomcat2.type=ajp13
#分发权重 值越大负载越大
worker.tomcat2.lbfactor=1

4,以下是httpd.conf映射到2个tomcat的配置

NameVirtualHost *:80

ServerName *
DocumentRoot "/home/99tui/shop"
JkMount /* tomcat2



    Options Indexes FollowSymLinks
    AllowOverride None
    Order allow,deny
    Allow from all


NameVirtualHost *:80

ServerName www.99tui.net
ServerAlias www.99tui.net weixin.hiji.cn
DocumentRoot "/home/99tui/yum"
JkMount /* tomcat1



    Options Indexes FollowSymLinks
    AllowOverride None
    Order allow,deny
    Allow from all

重启apache服务,大功告成

 

转载自:淘众购

 

你可能感兴趣的:(apache 多个tomcat 多个应用 整合配置(实战结果))