Tomcat 多域名配置
阿新 • • 發佈:2018-12-11
環境
-
一個tomcat,下面部署了多個專案
-
有一個獨立的IP
-
有多個頂級(二級)域名指向不同的專案。
DNS配置
DNS沒什麼特殊的要求,配置都指向這一個IP就行。
Tomcat配置
多域名有可能存在多種配置方式,我使用了一種(檔案結構)看著比較麻煩的方式。
Connector
的配置方式基本都一樣:
<Connector port="80" protocol="HTTP/1.1" URIEncoding="UTF-8" connectionTimeout="20000" redirectPort="8443" />
首先埠都是80,一般還會帶上URIEncoding="UTF-8"
防止亂碼。
下面就是多域名的配置方式:
<Engine name="Catalina" defaultHost="www.mybatis.tk"> <Host name="www.mybatis.tk" appBase="webapps" unpackWARs="true" autoDeploy="true"> </Host> <Host name="www.cndocs.tk" appBase="docapps" unpackWARs="true" autoDeploy="true"> </Host> <Host name="mbg.cndocs.tk" appBase="mbg" unpackWARs="true" autoDeploy="true"> </Host> <Host name="spring.cndocs.tk" appBase="spring" unpackWARs="true" autoDeploy="true"> </Host> </Engine>
先看第一行的defaultHost="www.mybatis.tk"
,這個配置的意思是,當通過IP地址訪問的時候,使用的那個域名host(和下面具體的Host
的name
一致)。
下面的頂級(和二級)域名配置都一樣:
<Host name="www.mybatis.tk"
appBase="webapps" unpackWARs="true" autoDeploy="true">
</Host>
這裡需要注意的是appBase
,這裡指向的是tomcat目錄下的webapps
目錄,預設指向該目錄下的ROOT
。所以這個配置實際上就相當於webapps/ROOT
。
上面完整配置中的其他幾個docapps,mbg,spring
也都是直接在tomcat下面的目錄(和webapps
是平級目錄),都有ROOT
目錄,部署的專案也都直接在ROOT
下。
按上面配置後,正常情況就可以訪問了。