结合apache和tomcat实现多域名、多端口绑定

1、本机测试的话,要先配置主机头
系统:windowsxp
     C:\WINDOWS\system32\drivers\etc\hosts文件 添加
     127.0.0.1       www.abc.com
     127.0.0.1       www.efg.com

这样可以测试www.abc.com,www.efg.com两个域名指向本地服务器。

注:保存后, ping  www.abc.com   #测试修改是否有效。


2、配置多个tomcat实例,并假定http://localhost:8080部署abc项目,http://localhost:8090部署efg项目。注:配置多个tomcat实例,注意端口不冲突,同时最好在tomcat的conf/server.xml配置文件中,修好host节点的内容,使项目文件独立于tomcat目录。配置如下:

2.1http://localhost:8080


            unpackWARs="true" autoDeploy="true"
            xmlValidation="false" xmlNamespaceAware="false">
   caseSensitive="false" debug="0"> 

2.2http://localhost:8090


            unpackWARs="true" autoDeploy="true"
            xmlValidation="false" xmlNamespaceAware="false">
   caseSensitive="false" debug="0"> 


3、配置Apache

3.1修改 Apache2.2\confhttpd.conf,将以下三项的注释符"#"去掉

LoadModule proxy_module modules/mod_proxy.so

LoadModule proxy_http_module modules/mod_proxy_http.so


# Virtual hosts
Include conf/extra/
httpd-vhosts.conf


3.2修改Apache2.2\conf\extrahttpd-vhosts.conf文件

NameVirtualHost *:80

    ServerName
www.abc.com
   ProxyRequests Off
   
        Order deny,allow
        Allow from all
   
ProxyPass / http://localhost:8080/
ProxyPassReverse / http://localhost:8080/

   
        Order allow,deny
        Allow from all
   



    ServerName www.efg.com
    ProxyRequests Off
   
        Order deny,allow
        Allow from all
   
ProxyPass / http://localhost:8090/
ProxyPassReverse / http://localhost:8090/

   
        Order allow,deny
        Allow from all
   


注意:在配置apache虚拟机时,如果转发的url地址带有子目录的,ProxyPass后面的子目录名称跟转发的url后缀的子目录名称要相同。如:

ProxyPass /xx1  http://localhost:8090/xx1

此时在网站上就要输入http://www.abc.com/xx1才能正确访问。


4、启动多个tomcat实例,重启Apache。

在网址中分别输入http://www.abc.com和http://www.efg.com即可看到效果。祝好运!


你可能感兴趣的:(结合apache和tomcat实现多域名、多端口绑定)