tomcat每个文件夹中的每个文件的作用

本文详细介绍了Tomcat各个目录及其文件的作用,包括bin、conf、lib、logs、temp、webapps和works目录,以及LICENSE、NOTICE、RELEASE-NOTES、RUNNING.txt等重要文件。了解这些内容有助于更好地管理和配置Tomcat服务器。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本章整理于下方链接

https://blog.51cto.com/grass51/1123400
https://my.oschina.net/leamon/blog/209809
https://www.cnblogs.com/hzg110/p/6851523.html

文件夹以外的其他文件。
  • LICENSE
      顾名思义就是许可证,里面记录了tomcat的一些条款等等。
  • NOTICE
      里面记录了tomcat的新的通知,公告。
  • RELEASE-NOTES
      这里面记录的是发行版本的说明,一些捆绑的API,新特性等等。
  • RUNNING.txt
      记录了tomcat的运行环境以及怎样配置参数,变量,启动等等。
bin

  用于存放一些重要的web服务器的执行文件,主要有两大类:
1. startup.bat- - -(后缀为.bat的文件是windows系统批处理脚本文件)
2. startup.sh- - -(后缀为.sh文件是linux系统中的脚本文件)
  以上文件这两个文件作用相同,只是用于不同的系统.

  • bootstrap.jar
      这个引导程序jar包,是tomcat的入口;
      tomcat启动时所依赖的一个类,在启动tomcat时会发现Using CLASSPATH: 是加载的这个类;

  • catalina.sh (catalina.bat相同)(重要脚本)
      真正启动Tomcat文件,可以在里面设置jvm参数.

    异常:可能出现内存溢出错误可以考虑修改它

          1)java.lang.OutOfMemoryError: Java heap space
      
            Tomcat默认可以使用的内存为128MB,在较大型的应用项目中,这点内存是不够的,从而导致客户端显示**500错误**。
      
              Windows环境下修改catalina.bat文件,在文件开头增加如下设置:set JAVA_OPTS=-Xms256m -Xmx512m 
      
            Linux环境下修改catalina.sh文件,在文件开头增加如下设置:JAVA_OPTS=’-Xms256m -Xmx512m’ 
      
            其中,**-Xms设置初始化内存大小,-Xmx设置可以使用的最大内存。** 
      
          2) java.lang.OutOfMemoryError: PermGen space
      
            PermGen space的全称是Permanent Generation space,是指内存的永久保存区域,这块内存主要是被JVM
      
            存放Class和Meta信息的,Class在被Loader时就会被放到PermGen space中,它和存放类实例(Instance)的
      
            Heap区域不同,GC(Garbage Collection)不会在主程序运行期对PermGen space进行清理,所以如果你的应用
      
            中有很CLASS的话,就很可能出现PermGen space错误,这种错误常见在web服务器对JSP进行pre compile的
      
            时候。如果你的WEB APP下用了大量的第三方jar, 其大小超过了jvm默认的大小(4M)那么就会产生此错误信息了
            
           解决方法:
           
            在catalina.bat的第一行增加:(Windows)
            set JAVA_OPTS=-Xms64m -Xmx256m -XX:PermSize=128M -XX:MaxNewSize=256m -
            XX:MaxPermSize=256m
            在catalina.sh的第一行增加:(Linux)
            JAVA_OPTS=-Xms64m -Xmx256m -XX:PermSize=128M -XX:MaxNewSize=256m -
            XX:MaxPermSize=256m
    
  • catalin-tasks.xml
      配置文件,主要是引入各种jar包;
      定义tomcat载入的库文件,类文件.

  • commons-daemon-natie.tar.gz
      jsvc1工具,可以使tomcat已守护进程方式运行,需在Linux/Unix下单独编译安装.

  • commons-daemon.jar
      jsvc工具所依赖的java类;

  • configtest.sh(configtest.bat相同)
      tomcat检查配置文件语法是否正确的Linux平台脚本

  • desmon.sh
      tomcat已守护进程方式运行时的,启动,停止脚本

  • digest.sh(disgest,bat相同)
      使用指定的算法解析密码的脚本*(Script to digest password using the algorithm specified)*

  • setclasspath.sh(setclasspath.bat相同)

  设置classpath的脚本,在catalin.bat脚本中调用,可以设置java_home,jre_home等。

  • shutdown.sh(shutdown.bat相同)
      关闭web服务器

  • startup.sh(startup.bat相同)
      开启web服务器

  • tomcat-juli.jar
      Apache Tomcat由一个自己的实现了java.util.logging多个关键元素的实现。这个实现被称为“JULI”。实现的核心组件是定制化的LogManager,可以获取运行在Tomcat中的不同web应用(以及不同的class loader)。他支持为应用配置单独的日志配置。当有web应用从内部中是被卸载时,会接到Tomcat的通知,以便他所引用的类可以被清除,避免内存泄露。

  • tomcat-native.tar.gz
      Apache Tomcat Native Library使Tomcat可以访问Apache Portable Runtime(APR)2库的网络连接(套接字)实现和随机数生成器。
    (详见tomcat文档,用谷歌翻译一下)

    http://tomcat.apache.org/native-doc/

  • tool-wrapper.sh(tool-wrapper.bat)
      Tomcat服务器的命令行工具包装器脚本

  • version.sh(version.bat)
      查看tomcat以及JVM的版本信息

conf (配置文件目录)
  • catalina.policy
      这是Tomcat的核心安全策略,包括系统代码,Web应用程序和Catalina本身的权限定义。
      配置tomcat对文件系统中的文件的读写等操作执行权限,以及对内存.session一些的管理权限;

  • catalina.properties
      该文件主要配置tomcat的安全设置、类加载设置、不需要扫描的类设置、字符缓存设置四大块。

  • context.xml
       tomcat的默认context容器
       tomcat公用的环境配置,也可以在server.xml中配置

  • logging.properties
      配置tomcat的日志输出方式

  • server.xml
      相当重要的配置,端口、线程池等都需要在这里配置。

  • tomcat-users.xml
       tomcat配置用户的文件。是指定控制台用户、角色、密码的。

      <tomcat-users>
       <role rolename="manager"/>
      <role rolename="admin"/>
      <user username="admin" password="123456" roles="admin,manager"/>
      </tomcat-users>.
    

  通过以上配置,可以为tomcat添加具有管理员权限的用户。

  • tomca-users.xsd
      
  • web.xml
      它为所有host下所有应用的通用置
    和每个应用的WEB-INF下的web.xml协同工作
    其中定义的默认配置项主要有:
    1. Servlet:配置Servlet、JSP、SSI、CGI引擎;
    2. session 配置:控制会话时间;
    3. MIME 类型:MIME映射;
    4. 欢迎文件列表
lib(存放Tomcat运行需要的库文件(JARS))
logs(存放Tomcat执行时的日志文件)
  • catalina.日期.log(catalina.2019-07-15.log)
      控制台日志

  • commons-daemon.日期.log(commons-daemon.2019-07-15.log)
      启动\重启和停止对Tomcat的操作日志

  • host-manager.日期.log(host-manager.2019-07-15.log)
      Tomcat管理页面中的host_manager的操作日志

  • localhost.日期.log(localhost.2019-07-15.log)
      Web应用的内部程序日志

  • localhost_access_log.日期(localhost_access_log.2019-07-15)
      用户请求Tomcat 的访问日志(这个文件在conf/server.xml里配置)

      <!-- Tomcat的访问日志,默认可以关闭掉它,它会在logs文件里生成localhost_access_log的访问日志 -->
      <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
             prefix="localhost_access_log." suffix=".txt"
             pattern="%h %l %u %t &quot;%r&quot; %s %b" />
    
  • manager.日期.log(manager.2019-07-15.log)
      Tomcat管理页面中的manager app的操作日志。

temp(temp文件夹存放临时文件)

  temp目录用户存放tomcat在运行过程中产生的临时文件。(清空不会对tomcat运行带来影响)

webapps(Tomcat的主要Web发布目录(包括应用程序示例),其中root目录就是不输入项目的默认目录)

  webapps目录用来存放应用程序,当tomcat启动时会去加载webapps目录下的应用程序。可以以文件夹、war包、jar包的形式发布应用。
  当然,你也可以把应用程序放置在磁盘的任意位置,在配置文件中映射好就行。

  • docs
      tomcat文档
  • examples
      tomcat自带的一个独立的web应用程序例子
  • host-manager
      tomcat的管理应用程序
    1. META-INF
        整个应用程序的入口,用来描述jar文件的信息
    2. context.xml
        当前应用程序的context容器配置,它会覆盖tomcat/conf/context.xml中的配置
    3. WEB-INF
        用于存放当前应用程序的私有资源
      • classes
          用于存放当前应用程序编译后所需要的class文件
      • lib
           用于存放当前应用程序所需要的jar文件
      • web.xml
          当前应用程序的部署描述符文件,定义应用程序所要加载的serverlet类,以及该程序是如何部署的
  • manager
      tomcat的管理应用程序
  • ROOT
      指tomcat的应用程序的根,如果应用程序部署在ROOT中,则可直接通过http://ip:port 访问到
works(存放Tomcat运行时产生的class文件)

  work目录用来存放tomcat在运行时的编译后文件,例如JSP编译后的文件。清空work目录,然后重启tomcat,可以达到清除缓存的作用。


  1. Java Service
      用来启动tomcat,在linux下面使用
    在linux上以服务的方式启动java程序 ↩︎

  2. 何为APR?
      APR(Apache portable Run-time libraries,Apache可移植运行库)的目的如其名称一样,主要为上层的应用程序提供一个可以跨越多操作系统平台使用的底层支持接口库。
      Apache Tomcat Native library,全称为:Apache Portable Runtime和Tomcat。 ↩︎

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值