• 解决Tomcat启动时项目重复加载问题


     

    前几天一个同学项目要上线,部署到服务器时,因为客户需要通过IP直接可以访问到,所以在server.xml做了如下的配置 
    这里写图片描述
    导致启动tomcat时候出现一个项目重复加载了两次,很容易就出现了内存溢出。

    这里appBase与docBase区别 
    appBase是指定虚拟主机的目录,可以指定绝对目录,也可以指定相对于的相对目录.如果没有此项,默认为/webapps。 
    docBase是指定Web应用的文件路径.可以给定绝对路径,也可以给定相对于Host的appBase属性的相对路径. 如果Web应用采用开放目录结构,那就指定Web应用的根目录;如果Web应用是个WAR文件,那就指定WAR文件的路径。

    出现上述问题的原因是tomcat加载玩appBase=”webapps”之后又去加载docBase,因此造成加载两次项目的问题,修改path参数path=”pzxxsc”(项目名称),配置文件内容是 
    这里写图片描述

    虽然这样配置可以防止项目重复启动,但是并不能达到可以通过IP直接访问项目,如果不想修改path=”/pzxxsc”的参数,那么可以修改appBase=”webapps”的参数。这样的方式也可以解决当前多次加载问题;appBase的参数指到其他文件目录不能出现在tomcat的webapps目录下,这样就可以访问根目录不用敲项目名称。配置文件内容是 
    这里写图片描述

    如果项要把项目搬到其他目录中部署,前提是不能在webapps目录下,appBase=”webapps”参数可有可无,配置文件内容是 
    这里写图片描述

  • 相关阅读:
    数据挖掘实践(23):实战-- 建筑能源得分预测报告(一)
    返回闭包
    函数指针
    Rust 中的 Closure
    Moves, copies and clones in Rust
    Rust的闭包类型(Fn, FnMut, FnOne的区别)
    Clone VS Copy
    rust socket
    A simple UNIX socket listener in Rust
    【firecracker】系统启动与epoll事件循环
  • 原文地址:https://www.cnblogs.com/SUNSHINEC/p/8798162.html
Copyright © 2020-2023  润新知