今天學到 tomcat ROOT
(根) 應用的部署。
傳統部署,我們將我們的應用(demo)放在 webapps
目錄下面時候就訪問
http://localhos:8080/demo
即可。
但是如果我想通過訪問 Domain 也就是 http://localhos:8080
有什麼辦法能訪問到我們的應用呢?
答案當然是 有辦法。
方法很簡單 就是在 tomcat 的 appBase
制定的位置 一般是 webapps
目錄下面建立一個 ROOT
目錄,即可。
如果是使用 war 包部署的話。直接把你的war包。取名叫做 ROOT.war 即可。
此時訪問應用的話就可以直接訪問 http://localhos:8080
此時,有的小夥伴會問,把war包的名字固定成 ROOT.war
瞬間感覺節操碎了一地。那有沒有。靈活一點的辦法呢。
答案當然是 有辦法。
知道 conf/server.xml
檔案。
找到 Host
標籤
在 Host
標籤中加一個 Context
元素。(tomcat中將一個應用成為一個Context)就是對我們的 主機配置。
<Host name="localhost" appbase="webapps" ....>
<Context docBase="demo" path="/" ... />
<!-- 重點在docBase 和 path 屬性 -->
...
</Host>
docBase
根據 tomcat 官方文件解釋docBase是相對於 appBase 的。也就是如果 tomcat 的 $catalina.base
是 /usr/local/tomcat
appBase
是 webapps
的話
docBase=”demo”(如上例)
那麼 docBase 全路徑 就是 ${catalina.bae}/webapps/demo = /usr/local/tomcat/webapps/demo
以上規則滿足於 使用相對路徑
也可以配置絕對路徑。
path
根據 tomcat 官方文件解釋 path 大概意思就是,當請求的uri的是以path開頭是啟用該Context
現在我們又可以愉快的玩耍了