Tomcat中 appBase和docBase配置及默认管理页面

这是一个设置参考:

<host appBase="d:/你的自定义目录">
<Context path="/smswap" reloadable="true" docBase="D:\workspace\smswap\WebRoot"></Context>
</host>

我们先看appBase(默认设置appBase="webapps",即tomcat下的webapps文件夹),这个目录表示:
1 这个目录下面的子目录将自动被部署为应用。
2 这个目录下面的.war文件将被自动解压缩并部署为应用

而docBase只是指向了你某个应用的目录,这个可以和appBase没有任何关系。

总结:
如果你想自己指定路径,那么应该在docBase里面(意思是应用放在磁盘其他文件夹里,而不是tomcat目录下)
如果你想简单,那么直接把他们复制到appBase(也就是webapps文件夹)下面就行了

如果你把他们弄重复了,也就是2个指向了一个目录,看上去也能运行,但你的应用下面的每个子目录,其实是被部署为单独的应用的

一、正常的设置方法

如果你想自己指定路径(意思是放到磁盘其他文件夹,而不是tomcat的webapps下面),那么应该在docBase里面 

<Host appBase="webapps" autoDeploy="true" name="localhost" unpackWARs="true"> 	  <Context docBase="d:\ssm-redis" path="/ssm-redis" reloadable="true" source="org.eclipse.jst.jee.server:ssm-redis"/>
</Host>


如果你想简单,那么直接把他们复制到appBase下面就行了,不需要设置docBase。

<Host appBase="webapps" autoDeploy="true" name="localhost" unpackWARs="true">//不要再设置contex,除非不在tomcat的webapps目录下
</Host>

二、注意尽量不要同时设置

不要

以下配置是不合理的!

<Host appBase="webapps" autoDeploy="true" name="localhost" unpackWARs="true">       <Context docBase="ssm-redis" path="/redis" reloadable="true" source="org.eclipse.jst.jee.server:ssm-redis"/>
</Host>

webapps下的ssm-redis文件夹将会被运行为两个应用。两个应用名称地址分别是

1.localhost:/ssm-redis,这个是因为设置了appBase="webapps"

2.localhost:/redis,这个是因为设置了docbase和path。(docbase如果不写绝对路径,就认为是webapps下面的相对路径)

三、如果想要给webapps下的应用定义别名

   如果webapps下的某个应用,一定非要设置为某个别名。那么 可以把appbase设置为空,doc设置为绝对路径。

这样不会启动两个应用。

<Host appBase="" autoDeploy="true" name="localhost" unpackWARs="true">       <Context docBase="d:\ssm-redis" path="/redis" reloadable="true" source="org.eclipse.jst.jee.server:ssm-redis"/>
</Host>

参考:

https://blog.csdn.net/liuxuejin/article/details/9104055

四、上面的第三点感觉不如下面描述的清楚:

现说明一下参数的使用。
为了解决重复拉起问题,我们只需要把拉起的服务的war包,不放到默认的webapps目录下,然后通过使用docBase参数指定地址就可以,如下所示:

      <Host name="localhost"  appBase="webapps" unpackWARs="true" autoDeploy="true">
            <Context path="/" docBase="../wars/demo.war" reloadable="true" crossContext="true" />
      </Host>
appBase是默认情况下,是相对于tomcat根目录的。这个参数也会决定解压war到的目录。这里appBase等于webapps,war包会被解压到webapps的目录下,解压具体路径,再根据Context标签里面的path路径决定,有两个情况,一种情况是path有值并且不是/,比如说下面这种情况

      <Host name="localhost"  appBase="webapps" unpackWARs="true" autoDeploy="true">
            <Context path="/add" docBase="../wars/demo.war" reloadable="true" crossContext="true" />
      </Host>
这种情况,war包会被解压到目录webapps/add。
另外一种情况是/,这种情况下会被解压到webapps/ROOT目录。

如果appBase="",则解压到tomcat根目录下的path指定的路径下,path等于/的情况,就解压到tomcat根目录下的ROOT目录下。

原文链接:https://blog.csdn.net/songhongjin/article/details/120348897

-----------------------------------------------------------------------------------------

五、关于tomcat默认管理页面

Tomcat的默认工具manager配置,在很多的生产环境中由于基本用不到、或者是不太需要使用Tomcat默认的manager管理页面时一般都会把Tomcat的默认webapp下的内容给删除了,但是如果需要使用Tomcat默认的manager来管理项目时就需要保留相应的文件目录。在Tomcat中的webapps中有如下目录:docs(Tomcat本地说明文档)、examples(Tomcat相关的deamon示例)、host-manager(主机头管理工具)、manager(项目管理工具)、ROOT(Tomcat默认页),

其中需要保留的是host-manager、manager、ROOT这3个目录而从Tomcat 6开始为了安全缺省条件下Tomcat的host-manager、manager是不能访问的(http 401拒绝),如需访问需要分配相关的角色权限。

参考地址:Tomcat默认工具manager管理页面访问配置

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值