关于tomcat:Tomcat目录结构-京东云技术团队

37次阅读

共计 3034 个字符,预计需要花费 8 分钟才能阅读完成。

Tomcat 目录结构图如下:

1、bin 目录

寄存一些可执行的二进制文件,.sh 结尾的为 linux 下执行命令,.bat 结尾的为 windows 下执行命令。

  • catalina.sh:真正启动 tomcat 文件,能够在外面设置 jvm 参数。
  • startup.sh:启动 tomcat(需当时配置好 JAVA_HOME 环境变量才可启动,该命令源码理论执行的为 catalina.sh start)。
  • shutdown.sh:敞开 tomcat。
  • version.sh:查看 tomcat 版本相干信息。

2、conf 目录

寄存 tomcat 相干配置文件的。

2.1、catalina.policy

我的项目平安文件,用来避免坑骗代码或 JSP 执行带有像 System.exit(0)这样的命令,可能影响容器的毁坏。只有当 Tomcat 用 -security 命令行参数启动时这个文件才会被应用,即启动 tomcat 时,startup.sh -security。

2.2、catalina.proterties

配置 tomcat 启动相干信息文件

2.3、context.xml

监督并加载资源文件,当监督文件发生变化时,主动加载,通常不会去配置

2.4、jaspic-providers.xml 和 jaspic-providers.xsd

不罕用文件

2.5、logging.properties

tomcat 日志文件配置,包含输入格局、日志级别等。

2.6、server.xml

外围配置文件:批改端口号,增加编码格局等

外围组件介绍:

<1>Server:最顶层元素,而且惟一,代表整个 tomcat 容器。一个 Server 元素蕴含一个或者多个 Service 元素;

<2>Service:对外提供服务的。一个 Service 元素蕴含多个 Connector 元素,然而只能蕴含一个 Engine 元素;

<3>Connector:接管连贯申请,创立 Request 和 Response 对象用于和申请端替换数据;而后调配线程让 Engine 来解决这个申请,并把产生的 Request 和 Response 对象传给 Engine

<4>Engine:Engine 组件在 Service 组件中有且只有一个;Engine 是 Service 组件中的申请解决组件。Engine 组件从一个或多个 Connector 中接管申请并解决,并将实现的响应返回给 Connector,最终传递给客户端。

<5>Host:代表特定的虚拟主机。

<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true">

**name:** 虚拟主机的主机名。比方 localhost 示意本机名称,理论利用时应该填写具体域名,比方 www.dog.com,当然如果该虚拟主机是给内部人员拜访的,也能够间接填写服务器的 ip 地址,比方 192.168.1.101;

**appBase:** 设置 Web 应用程序组的门路。appBase 属性的值能够是绝对于 Tomcat 装置目录的相对路径,也能够是绝对路径,须要留神的是该门路必须是 Tomcat 有权限拜访的;

**unpackWARs:** 是否主动开展 war 压缩包再运行 Web 应用程序,默认值为 true;

**autoDeplay:** 是否容许主动部署,默认值是 true,示意 Tomcat 会自动检测 appBase 目录上面的文件变动从而主动利用到正在运行的 Web 应用程序;

**deployOnStartup:** 为 true 时,示意 Tomcat 在启动时查看 Web 利用,且检测到的所有 Web 利用视作新利用;

<6>Context:该元素代表在特定虚拟主机 Host 上运行的一个 Web 利用,它是 Host 的子容器,每个 Host 容器能够定义多个 Context 元素。动态部署 Web 利用时应用。

<Context path="/" docBase="E:\Resource\test.war" reloadable="true"/>

**path:** 浏览器拜访时的路径名,只有当主动部署齐全敞开 (deployOnStartup 和 autoDeploy 都为 false) 或 docBase 不在 appBase 中时,才能够设置 path 属性。

**docBase:** 动态部署时,docBase 能够在 appBase 目录下,也能够不在;本例中,不在 appBase 目录下。

**reloadable:** 设定我的项目有改变时,从新加载该我的项目。

2.7、tomcat-users.xml 和 tomcat-users.xsd

tomcat-users.xml:tomcat 用户配置文件,配置用户名,明码,用户具备权限

tomcat 默认没有配置任何用户,只有配置好用户后能力应用以下 Tomcat Manager 三个性能:

<role rolename="manager-gui"/>
<role rolename="manager-script"/>
<user username="tomcat" password="tomcat" roles="manager-gui"/>
<user username="admin" password="123456" roles="manager-script"/>

tomcat-users.xsd:对 tomcat-users.xml 文件的形容和束缚

2.8、web.xml

web 利用相干通用配置,能够做上面这些事件。

  • 配置 servlet
  • 增加过滤器,比方过滤敏感词汇
  • 设置 session 过期工夫,tomcat 默认 30 分钟
  • 注册了很多 MIME 类型,即文档类型。这些 MIME 类型是客户端与服务器之间阐明文档类型的,如用户申请一个 html 网页,那么服务器还会通知客户端浏览器响应的文档是 text/html 类型的,这就是一个 MIME 类型
  • 配置零碎欢送页

3、lib 目录

寄存 tomcat 依赖 jar 包的。

其中 ecj-x.x.x.jar 起到了将.java 文件编译成.class 字节码文件的作用。

4、logs 目录

寄存 tomcat 运行时产生的日志文件。

在 windows 环境中,日志文件输入到 catalina.xxxx-xx-xx.log 文件中。

在 linux 环境中,日志文件输入到 catalina.out 文件中。

大体有以下几类:

catalina.xxxx-xx-xx.log windows 下日志文件输入内容
host-manager.xxxx-xx-xx.log 拜访 webapps 下 host-manager 我的项目日志
localhost.xxxx-xx-xx.log tomcat 启动时,本身拜访服务,只记录 tomcat 拜访日志,而非业务我的项目日志
localhost\_access\_log.xxxx-xx-xx.txt 示意拜访 tomcat 下所有我的项目日志记录
manager.xxxx-xx-xx.log 拜访 webapps 下 manager 我的项目日志

5、temp 目录

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

6、webapps 目录

用来寄存应用程序,能够以文件夹、war 包、jar 包的模式公布利用。当然也能够将应用程序放在磁盘的任意地位,在配置文件中映射好即可。

默认自带以下 5 个我的项目:

7、work 目录

用于寄存 tomcat 在运行时的编译后文件(清空该目录下所有内容,重启 tomcat,可达到革除缓冲的作用)

作者:京东科技 杨建

起源:京东云开发者社区 转载请注明起源

正文完
 0