tomcat 繫結2級域名解決重複載入的問題
阿新 • • 發佈:2019-02-18
描述問題
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 "%r" %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 "%r" %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.