关于Tomcat部署项目时部署两次问题的解决方案

  • 之前自己访问自己的项目都是通过ip端口号项目名进行访问的,也没有对Tomcat的server.xml进行配置。昨天备案的域名下来的,因为自己的小项目,就没用Nginx,想着直接配置下Tomcat的server.xml,端口号改为80(http请求的端口是80,改成80访问时可以不用写端口号),项目名去掉,希望通过域名直接访问项目。
    <Context path="" docBase="自定义的默认项目路径" debug="0" reloadable="true" />
    但这一配出现问题了,每次启动时都报内存溢出,不配置这一句话,就没有问题。于是我在本地window环境下弄同样的环境还是不行,网上有说改bin目录下catalina.bat的,在这个文件的首行加下面代码:
    set JAVA_OPTS= -Xms1024M -Xmx1024M -XX:PermSize=256M -XX:MaxNewSize=256M -XX:MaxPermSize=256M
  • 试了一下,确实可以了,但是治标不治本啊。所以我又仔细看了看控制台的启动日志,发现原本启动完的daily.war项目,又启动了ROOT,而且我到webapps下面看daily和ROOT文件夹的内容一样,这里我猜想,配置了
    <Context path="" docBase="" debug="0" reloadable="true"
    />

    会导致项目启动两次,一次是你的项目,一次是ROOT,进而导致内存溢出。
    解决办法:将Tomcat的server.xml的Host节点配置成如下:
    <Host name="localhost" appBase=""
    unpackWARs="true" autoDeploy="true">
    <Context path="" docBase="/usr/tomcat/tomcat7/webapps/daily" debug="0" reloadable="false"/>
    </Host>

    其实就是将appBase里面的webapps干掉,将docBase路径改成你部署完的路径就可以了(daily是项目名),保存之后启动就只启动一次,不会再报内存溢出了。
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值