[Tomcat] server.xml配置appBase與docBase的用法

轉載 http://blog.csdn.net/chenxiaodan_danny/article/details/45397765


我們先看appBase,這個目錄表示: 
1 這個目錄下面的子目錄將自動被部署爲應用。 
2 這個目錄下面的.war文件將被自動解壓縮並部署爲應用

而docBase只是指向了你某個應用的目錄,這個可以和appBase沒有任何關係。

總結: 
如果你想自己指定路徑,那麼應該在docBase裏面 
如果你想簡單,那麼直接把他們複製到appBase下面就行了

如果你把他們弄重複了,也就是2個指向了一個目錄,看上去也能運行,但你的應用下面的每個子目錄,其實是被部署爲單獨的應用的。 
比如你的應用爲

myApp, 放在了 
d:\project\myApp 
裏面有2個子目錄 
d:\project\myApp\p_w_picpaths 
d:\project\myApp\js

你可以通過 
1 設置 appBase 指向 d:\project 來讓系統自動部署 
2 你可以手工指定docBase到 d:\project\myApp 
3 如果你指定了 appBase到 d:\project\myApp 那麼 
d:\project\myApp\p_w_picpaths這個將不再是普通的子目錄,而是一個單獨的虛擬目錄,或者叫應用了。因爲其被自動部署 
d:\project\myApp\js 也一樣的後果

今天整整搞了一個下午,ubuntu下的tomcat,由於沒有深入分析過tomcat/conf/server.xml,遇到很多問題。

一開始總是把appBase配置成應用程序的路徑,結果反覆的修改別處,也沒搞定,突然想起docBase,然後在

appBase 下面加了一行docBase,把路徑配置到docBase中,把appBase爲空,就OK了

  <Host name="localhost"  appBase=""
       unpackWARs="true" autoDeploy="true"
       xmlValidation="false" xmlNamespaceAware="false">

   <Context path="" docBase="/usr/local/webapp" debug="0" reloadable="true" crossContext="true"/>


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章