您的位置:首页 > 运维架构 > Tomcat

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

2016-11-16 11:32 471 查看
原文:http://blog.csdn.net/eagelangel/article/details/20130087

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
<Host name="localhost"  appBase="webapps"

            unpackWARs="true" autoDeploy="true"

            xmlValidation="false" xmlNamespaceAware="false">
<Context path="" docBase="D:\project\abc" reloadable="true" 

   caseSensitive="false" debug="0"></Context> 

</Host>

2.2http://localhost:8090
<Host name="localhost"  appBase="webapps"
            unpackWARs="true" autoDeploy="true"
            xmlValidation="false" xmlNamespaceAware="false">
<Context path="" docBase="D:\project\efg" reloadable="true" 

   caseSensitive="false" debug="0"></Context> 
</Host>

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

<VirtualHost *:80>

    ServerName www.abc.com

   ProxyRequests Off

    <Proxy *>

        Order deny,allow

        Allow from all

    </Proxy>
ProxyPass / http://localhost:8080/ ProxyPassReverse / http://localhost:8080/
    <Location />

        Order allow,deny

        Allow from all

    </Location>

</VirtualHost>

<VirtualHost *:80>

    ServerName www.efg.com

    ProxyRequests Off

    <Proxy *>

        Order deny,allow

        Allow from all

    </Proxy>
ProxyPass / http://localhost:8090/ ProxyPassReverse / http://localhost:8090/
    <Location />

        Order allow,deny

        Allow from all

    </Location>

</VirtualHost>

注意:在配置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