1. 程式人生 > >tomcat 繫結2級域名解決重複載入的問題

tomcat 繫結2級域名解決重複載入的問題

描述問題

springboot的專案是弄完了,就想放到網上看看效果,於是閒的沒事搞了臺阿里雲windows版的伺服器,配置完JAVA,安裝好tomcat,就遇到專案繫結域名的問題。貌似現在通過tomcat去繫結域名是件很傻的事情。沒有其他條件就嘗試吧,遇到突出的問題:

1.繫結二級域名。

2.繫結好域名之後專案重複載入。

前置條件

在不繫結域名的情況專案可以啟動tomcat並且通過localhost訪問專案。

解決方案

先說繫結域名

在tomcat下的conf目錄中我們可以看到server.xml檔案。找到其中的片段,原文如下:


<Host name="localhost"
appBase="webapps" unpackWARs="true" autoDeploy="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 &quot;%r&quot; %s %b" />
</Host>

其中name屬性localhost替換為我們要繫結的域名如www.abc.com。其他不做任何的更改,啟動tomcat這個時候訪問專案路徑是www.abc.com:8080/。

此時:tomcat不會多次載入專案。

當我們在上面的片段中加上標籤的時候(網上好多都有,配置多級域名怎麼滴)。正確的做法如下:

<Host name="a.abc.cn" appBase="webapps/taleblog" unpackWARs="true" autoDeploy="true">
      <Alias>a.abc.cn</Alias>
      <Context path="" docBase="C:\apache-tomcat-8.5.14\webapps\taleblog" debug="0" privileged="true" />
      <Valve className="org.apache.catalina.valves.AccessLogValve"
             directory="logs"   prefix="localhost_access_log." suffix=".txt"
             pattern="%h %l %u %t &quot;%r&quot; %s %b" resolveHosts="false" />
    </Host> 

注意此時:需要將appBase具體到你的專案如webapps/blog而不是選用預設的值webapps.可不配置context標籤,如果你硬要配置此標籤,需要將docBase的值設定為專案的絕對路徑。

以上內容放在前面即可。

最後埠的問題:

在server.xml檔案中找到如下

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

將port=”8080”改為你需要的即可。常規設定為80.