Apache+tomcat ajp模式转发域名

先说下使用环境:

有两个以上的tomcat或者多个应用服务器,然后多个域名指向一个外网ip,由外网ip再转发到域名分别对应的tomcat上。(无需加载第三方插件)

配置:

1、2.2以上的Apache+5.5以上的tomcat 安装不写。

2、打开Apache安装目录下的/conf/httpd.conf文件:

      打开以下三个模块(将前面的#号去掉就行了)

     1>LoadModule proxy_module modules/mod_proxy.so

     2>LoadModule proxy_http_module modules/mod_proxy_http.so

     3>LoadModule proxy_ajp_module modules/mod_proxy_ajp.so

     加载httpd-vhosts.conf配置文件,也是去掉#

     4>Include conf/extra/httpd-vhosts.conf 

3、打开Apache安装目录下的/conf/extra/httpd-vhosts.conf文件:

可以直接清空文件,然后加上配置:

NameVirtualHost *:80
<VirtualHost *:80>                        
ServerName a.xxx.com
ServerAlias xxx.com
DirectoryIndex index.html index.htm index.jsp login.jsp
ProxyPass /	ajp://192.168.0.246:8009/ retry=3        
ProxyPassReverse /	ajp://192.168.0.246:8009/ retry=3 
</VirtualHost>

<VirtualHost *:80>                        
ServerName b.xxx.com
ServerAlias xxx.com
DirectoryIndex index.html index.htm index.jsp login.jsp
ProxyPass /	ajp://192.168.0.246:8009/ retry=3        
ProxyPassReverse /	ajp://192.168.0.246:8009/ retry=3 
</VirtualHost>

<VirtualHost *:80>
ServerName c.ccc.com
ServerAlias ccc.com
DirectoryIndex index.html index.htm index.jsp login.jsp
ProxyPass /	ajp://192.168.0.245:8009/ retry=3        
ProxyPassReverse /	ajp://192.168.0.245:8009/ retry=3 
</VirtualHost>

上面是三个项目的配置,其中task.shhhes.com和pts.shhhes.com在一个服务器,一个tomcat里面。nc.shhhes.com在另外一台服务器里面。因此可以看到这样的配置是非常灵活的,不管项目在哪里,只要tomcat启动了,找到对应的ajp的端口号(如例子里的ajp://192.168.0.246:8009/),注意是ajp的端口号,不是tomcat的访问端口号8080。

4、配置tomcat的主机名和httpd-vhosts.conf一致

<Host name="a.xxx.com"  appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false">
<Context docBase="D:\\apache-tomcat-6.0.41\webapps\xxxx" path=""  reloadable="true" />
</Host>

 其中 name里的a.xxx.com 和 ServerName a.xxx.com对应。docBase为项目地址

5、启动tomcat、启动Apache。ok。。。

注:如果域名没有解析、映射出去,那么到C:\WINDOWS\system32\drivers\etc 打开hosts文件,在最后添加

127.0.0.1 a.xxx.com
127.0.0.1 b.xxx.com
127.0.0.1 c.xxx.com

 这样是模拟三个域名都访问Apache服务器的对应ip的80端口(12.34.56.78:80)然后由Apache转发到对应的tomcat服务器上去。

猜你喜欢

转载自liupei-test.iteye.com/blog/2078013