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

轉載 http://blog.csdn.net/liuxuejin/article/details/9104055


<host appBase="d:/aaa">
<Context path="/smswap" reloadable="true" docBase="D:\workspace\smswap\WebRoot"></Context>
</host>

我們先看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"/>


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