总结tomcat的核心组件以及根目录结构

1. 目录结构

目录 说明
bin 服务启动、停止等相关程序和文件
conf 配置文件
lib 库目录
logs 日志目录
temp 临时目录
webapps 应用程序,应用部署目录
work jsp编译后的结果文件,建议提前预热访问

在这里插入图片描述

1.1 bin(程序文件)

文件名 说明
catalina.sh 启动,停止调用的脚本
shutdown.sh 停止服务
startup.sh 启动服务
version.sh 查看版本号

1.2 conf目录(配置文件)

文件名 说明
server.xml 主配置文件
web.xml 每个webapp只有“部署”后才能被访问,它的部署方式通常由web.xml进行定义,其存放位置为WEB-INF/目录中;此文件为所有的webapps提供默认部署相关的配置,每个web应用也可以使用专用配置文件,来覆盖全局文件
context.xml 用于定义所有web应用均需加载的Context配置,此文件为所有的webapps提供默认配置,每个web应用也可以使用自已专用的配置,它通常由专用的配置文件context.xml来定义,其存放位置为WEB-INF/目录中,覆盖全局的文件
tomcat-users.xml 用户认证的账号和密码文件
catalina.policy 当使用security选项启动tomcat时,用于为tomcat设置安全策略
catalina.properties Tomcat 环境变量的配置,用于设定类加载器路径,以及一些与JVM调优相关参数
logging.properties Tomcat 日志系统相关的配置,可以修改日志级别和日志路径等

1.3 logs(日志文件)

文件名 说明
catalina.日期.log 按日期切割的catalina.out,和
catalina.out tomcat访问日志信息它记录的访问的时间,IP ,访问的资料等相关信息。
manager.日期.log manager项目日志
host-manager.日期.log host-manager项目日志
localhost.日期.log 运行中的日志,它主要记录运行的一些信息,尤其是一些异常错误日志信息.
localhost_access_log.日期.txt tomcat访问日志

2. Tomcat 核心组件

Tomcat核心组件有6个,分别为Tomcat有Server、Service、Connector、Engine、Host和Context等,下面为大家一一介绍:

2.1 Server

Server元素在最顶层,代表整个Tomcat容器,因此它必须是server.xml中唯一一个最外层的元素。一个Server元素中可以有一个或多个Service元素。
Server的主要任务,就是提供一个接口让客户端能够访问到这个Service集合,同时维护它所包含的所有的Service的声明周期,包括如何初始化、如何结束服务、如何找到客户端要访问的Service。

2.2 Service

Service的作用,是在Connector和Engine外面包了一层,把它们组装在一起,对外提供服务。一个Service可以包含多个Connector,但是只能包含一个Engine;其中Connector的作用是从客户端接收请求,Engine的作用是处理接收进来的请求。Tomcat可以提供多个Service,不同的Service监听不同的端口。

2.3 Connector

Connector的主要功能,是接收连接请求,创建Request和Response对象用于和请求端交换数据;然后分配线程让Engine来处理这个请求,并把产生的Request和Response对象传给Engine。通过配置Connector,可以控制请求Service的协议及端口号。

2.4 Engine

Engine组件在Service组件中有且只有一个;Engine是Service组件中的请求处理组件。Engine组件从一个或多个Connector中接收请求并处理,并将完成的响应返回给Connector,最终传递给客户端。
实际上,Engine、Host和Context都是容器,但它们不是平行的关系,而是父子关系:Engine包含Host,Host包含Context。

2.5 Host

Host是Engine的子容器。Engine组件中可以内嵌1个或多个Host组件,每个Host组件代表Engine中的一个虚拟主机。Host组件至少有一个,且其中一个的name必须与Engine组件的defaultHost属性相匹配。
Host虚拟主机的作用,是运行多个Web应用(一个Context代表一个Web应用),并负责安装、展开、启动和结束每个Web应用。

2.6 Context

Context元素代表在特定虚拟主机上运行的一个Web应用。每个Web应用基于WAR文件,或WAR文件解压后对应的目录(这里称为应用目录)。Context是Host的子容器,每个Host中可以定义任意多的Context元素。

猜你喜欢

转载自blog.csdn.net/qq_29974229/article/details/121489807