tomcat中自定义docBase

tomcat中自定义docBase后,应用启动了两次与日志错乱的问题。

Linux服务器上部署了tomcat应用服务器,用log4j打印日志。发现每天的日志会有一部分打在昨天的日志文件中,而且日志中会发现应用启动日志打印了两份;

日志出错的原因是由于将tomcat的docBase指定到了webapps;之前是由于使用nginx指向二级域名服务器时,8080端口不能使用,所以采用了更改docBase路径的方法,而且偷懒没有将webapps下的应用文件更换目录,导致appBase和docBase各自加载了一次;

下文转自: http://rongjih.blog.163.com/blog/static/335744612011426103345778/

将应用部署到Tomcat根目录的目的是可以通过“http://[ip]:[port]”直接访问应用,而不是使用“http://[ip]:[port]/[appName]”上下文路径进行访问。
方法一:(最简单直接的方法)    删除原 webapps/ROOT 目录下的所有文件,将应用下的所有文件和文件夹复制到ROOT文件夹下。
方法二:    删除原 webapps/ROOT 目录下的所有文件,修改文件“conf/server.xml”,在Host节点下增加如下Context的内容配置:

<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
......
<Context path="" docBase="C:/apache-tomcat-6.0.32/myapps/bc.war"></Context>
</Host> 注意:    1)path 的值设置为空;    2)应用不要放到tomcat的webapps目录下(如上述配置是放到自定义的文件夹myapps内的),否则访问时路径很有问题;    3)docBase指定到绝对路径。    如此设置后重启tomcat,如果docBase指向的是war文件,会自动将war解压到 webapps/ROOT 目录;如果docBase指向的是应用已解压好的目录,如 docBase="C:/apache-tomcat-6.0.32/myapps/bc",tomcat不会生成webapps/ROOT目录(这种情况下之前可以不用删除webapps/ROOT目录,但webapps/ROOT目录内的内容是无法访问的),访问时将直接使用docBase指定的目录。
方法三:    与方法二类似,但不是修改全局配置文件“conf/server.xml”,而是在“conf/Catalina/localhost”目录下增加新的文件" ROOT.xml"(注意大小写哦),文件内容如下:<?xml version="1.0" encoding="UTF-8"?>
<Context path="" docBase="C:/apache-tomcat-6.0.32/myapps/bc.war"></Context>
  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值