浅谈Tomcat生产环境配置与应用

一.Tomcat的简介

Tomcat是一个基于JAVA的WEB容器,其实现了JAVA EE中的 Servlet 与 jsp 规范,与Nginx apache 服务器不同在于一般用于动态请求处理。在架构设计上采用面向组件的方式设计。即整体功能是通过组件的方式拼装完成。另外每个组件都可以被替换以保证灵活性。 从本质上讲,tomcat作为一个解析jsp/servlet的容器

二.Tomcat架构以及其组件

架构如图:

在这里插入图片描述(图片来源于网络)

在这里插入图片描述

在这里插入图片描述

组件:

Server: 代表Tomcat的实例 ,tomcat只有一个实例,也即只有一个Server,其主要功能是控制Service的生命周期。

Service: 代表的是一个处理客户端请求以及提供服务的组件,在一个Tomcat底下允许存在多个Service。

Connector: Connector的主要任务是连接客户端与服务端,包含了众多本配置,比如需要监听的IP、端口号,以及所支持的协议,以及处理请求和传入请求的线程数目。(连接器的重要点在于连接器的模式,比如Http Http1.1等,以及运行模式,比如NIO、AIO等,后面会详细说)。

Engine 引擎: 它主要功能是将传入请求委托给适当的虚拟主机处理。 一个Service只允许有一个Engine引擎。

Host 虚拟主机: 基于域名匹配至指定虚拟机。作用就是运行多个应用,它负责安装和展开这些应用,并且标识这个应用以便能够区分它们。它的子容器通常是 Context。一个虚拟主机下都可以部署一个或者多个Web App,每个Web App对应于一个Context,当Host获得一个请求时,将把该请求匹配到某个Context上,然后把该请求交给该Context来处理。

Context上下文: 代表 Servlet 的 Context,它具备了 Servlet 运行的基本环境,它表示Web应用程序本身。Context 最重要的功能就是管理它里面的 Servlet 实例,一个Context对应于一个Web Application,一个Web Application由一个或者多个Servlet实例组成。

三. 重点配置文件解析:

连接器配置:

`java <Connector URIEncoding="UTF-8" port="8080" protocol="HTTP/1.1" connectionTimeout="20000" maxHttpHeaderSize ="10240" redirectPort="8443" maxSwallowSize="-1" />

在这里插入图片描述

虚拟主机配置:

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

name:主机名称
appBase:虚拟主机对应的根目录
unpackWARs:是否自动解析war包
autoDeploy:是否自动部署

Context配置:

<Host name="localhost"  appBase="webapps"
            unpackWARs="true" autoDeploy="true">
 <Context docBase="hello" path="/h" reloadable="true"/>
 </Host>

docBase:在appBase下的相对路径
path:访问网址的附加Path路径

发布了30 篇原创文章 · 获赞 4 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/qq_42549122/article/details/103914734