天天看點

tomcat配置域名的幾種方式

作者:it村男主任

我們自己在開發項目時一般使用的是ip通路,如果要對外釋出是需要申請域名的,畢竟一個域名就相當于網站的代稱。

每個公司新上線的項目一般都會申請域名的,如果項目是部署在tomcat中的,那麼如何進行配置呢?下邊說一下其中的幾種情況。

同端口

1一個域名對應一個項目

注意:host節點中的appBase和Context的docBase位址要一樣

tomcat配置域名的幾種方式
<Host name="www.test111.com" appBase="/usr/local/apache-tomcat/webapps/test11" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false">
<Context path="/" docBase="/usr/local/apache-tomcat/webapps/test11" reloadable="true" />
<!-- SingleSignOn valve, share authentication between web applications
Documentation at: /docs/config/valve.html -->
<!--
<Valve className="org.apache.catalina.authenticator.SingleSignOn" />
-->
<!-- Access log processes all example.
Documentation at: /docs/config/valve.html
Note: The pattern used is equivalent to using pattern="common" -->
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log." suffix=".txt"
pattern="%h %l %u %t "%r" %s %b" />
</Host>
<Host name="bg.test222.com" appBase="/usr/local/apache-tomcat/webapps/test333" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false">
<Context path="/" docBase="/usr/local/apache-tomcat/webapps/test333" reloadable="true" />
<!-- SingleSignOn valve, share authentication between web applications
Documentation at: /docs/config/valve.html -->
<!--
<Valve className="org.apache.catalina.authenticator.SingleSignOn" />
-->
<!-- Access log processes all example.
Documentation at: /docs/config/valve.html
Note: The pattern used is equivalent to using pattern="common" -->
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log." suffix=".txt"
pattern="%h %l %u %t "%r" %s %b" />
</Host>           

2一個域名通過項目名稱對應多個項目

如果有一個host節點的appBase的值為webapps,那麼該項目下的所有項目都可以預設通過項目名通路到。appBase="webapps"的作用是映射該tomcat下的所有項目使之都可以通路。

例如:Tomcat中有一個項目是checkProject,那麼可是使用www.www.asdafsdfasd.com/checkProject通路到該項目

<Host name="www.asdafsdfasd.com" appBase="webapps"
unpackWARs="true" autoDeploy="true">
<Context path="/" docBase="user/local/testrrr" path=”/” reloadable="true" />//設定某一個項目的通路路徑,但其他項目還是可以通過項目名通路到。
<!-- SingleSignOn valve, share authentication between web applications
Documentation at: /docs/config/valve.html -->
<!--
<Valve className="org.apache.catalina.authenticator.SingleSignOn" />
-->
<!-- Access log processes all example.
Documentation at: /docs/config/valve.html
Note: The pattern used is equivalent to using pattern="common" -->
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log." suffix=".txt"
pattern="%h %l %u %t "%r" %s %b" />
</Host>           

不同端口

找到server.xml配置檔案,複制整個<service>…</service>節點,複制後的内容還是放在<server>節點内

tomcat配置域名的幾種方式

然後修改<Service> 和<Engine>的名稱,将Catalina修改為Catalina1或其他名稱,之後修改端口(未占用),在修改<Host>節點,将appBase=“webapps"中的webbapps改成webbapps1或其他名稱。儲存server.xml檔案。

複制conf目錄下的Catalina檔案夾并重命名為Catalina1,要與上邊的節點名稱對應,在tomcat目錄下建立一個wepapps1(與host節點名稱一樣)檔案夾。

上邊就可以通過不同端口通路相同的項目

您的贊和關注是對我創作的最大肯定,謝謝大家