您的位置:首页 > 运维架构 > Tomcat

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

2017-02-13 23:30 447 查看
转载 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\images
d:\project\myApp\js

你可以通过
1 设置 appBase 指向 d:\project 来让系统自动部署
2 你可以手工指定docBase到 d:\project\myApp
3 如果你指定了 appBase到 d:\project\myApp 那么
d:\project\myApp\images这个将不再是普通的子目录,而是一个单独的虚拟目录,或者叫应用了。因为其被自动部署

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"/>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  [Tomcat] server.xml配