1. 程式人生 > >tomcat 實現多埠多域名訪問

tomcat 實現多埠多域名訪問

在我們部署專案到Tomcat的時候,有時候會配置通過域名訪問專案。接下來我們就來了解一下多域名多埠訪問專案的相關配置。

演示環境

  • Tomcat 8.5

進行配置

多埠訪問

當一個專案需要使用多個埠號去訪問的時候,只需要在Service 標籤下進行這樣簡單的配置一下就好:

<Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />

<Connector port
="8081" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />

這樣就保證了當Tomcat執行起來的時候,同時監聽多個埠,通過80808081埠來訪問專案。

多域名訪問

配置專案的多域名的訪問,最簡單的方式就是在Host標籤下配置Alias標籤:

<Host name="www.jerome.xin"  appBase="webapps" unpackWARs="true" autoDeploy="true">
	<Alias
>
domain.jerome.xin</Alias> <Alias>domain2.jerome.xin</Alias> <Context docBase="/project" path=""/> </Host>

如果是將Host的內容複製一份,只修改name屬性也可以達到同樣的效果。可以通過www.jerome.xindomain.jerome.xindomian2.jerome.xin這些域名來訪問專案。

多埠多域名訪問

配置這個就是將Service標籤以及標籤下的內容複製一下修改name,然後配置不同Connector

,再配置不同的Host#name屬性,如下所示:

<Service name="Catalina">
	<Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443"/>
	<Engine name="Catalina" defaultHost="localhost">
		<Realm className="org.apache.catalina.realm.LockOutRealm">
            <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
                   resourceName="UserDatabase"/>
        </Realm>
        <Host name="www.jerome.xin"  appBase="webapps" unpackWARs="true" autoDeploy="true">
            <Context docBase="/project1" path=""/>  
        </Host>
    </Engine>
</Service>

<Service name="Catalina1">
	<Connector port="8081" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443"/>
	<Engine name="Catalina" defaultHost="localhost">
		<Realm className="org.apache.catalina.realm.LockOutRealm">
            <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
                   resourceName="UserDatabase"/>
        </Realm>
        <Host name="www.jeromezhu.xin"  appBase="webapps" unpackWARs="true" autoDeploy="true">
            <Context docBase="/project2" path=""/>  
        </Host>
    </Engine>
</Service>

這樣的配置就實現了,通過www.jerome.xin:8080訪問到project1專案,通過www.jeromezhu.xin:8081訪問到project2專案。

總結

通過上面的配置,我們已經完成了通過域名訪問專案的各種方式。但是配置多域名的時候稍有不慎就會出現重複載入資源的問題。這個問題我在別的文章中進行說明。

原文連結:tomcat 實現多埠多域名訪問