1. 程式人生 > >結合apache和tomcat實現多域名、多埠繫結

結合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

<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即可看到效果。祝好運!