目录
一.TOMCAT概述
1.介绍;
二.TOMCAT原理分析
1.HTTP工作原理;
1.用户通过浏览器进行了一个操作,比如输入网址并回车,或者是点击链接,接着浏览器获取了这个事件。
2.浏览器向服务端发出TCP连接请求。
3.服务程序接受浏览器的连接请求并经过TCP三次握手建立连接。
4.浏览器将请求数据打包成一个HTTP协议格式的数据包。
5.浏览器将该数据包推入网络,数据包经过网络传输,最终达到端服务程序
6.服务端程序拿到这个数据包后,同样以HTTP协议格式解包,获取到客户端的意图。
7.得知客户端意图后进行处理,比如提供静态文件或者调用服务端程序获得动态结果。
8.服务器将响应结果(可能是HTML或者图片等)按照HTTP协议格式打包。
9.服务器将响应数据包推入网络,数据包经过网络传输最终达到到浏览器。
10.浏览器拿到数据包后,以HTTP协议的格式解包,然后解析数据,假设这里的数据是 HTML。
11.浏览器将HTML文件展示在页面上。
2.catalina容器架构
TOMCAT模块分层结构
Tomcat本质上就是一款 Servlet 容器,因此Catalina 才是 Tomcat 的核心,其他模块都是为Catalina提供支撑的。比如:通过Coyote模块提供连接通信,Jasper 模块提供JSP引擎,Naming 提供JNDI 服务,Juli提供日志服务。
Catalina的主要组件结构
Catalina的各个组件的作用
-
Catalina
负责解析Tomcat的配置文件 , 以此来创建服务器Server组件,并根据 命令来对其进行管理。
-
Server
服务器表示整个Catalina Servlet容器以及其它组件,负责组装并启动Servlet引擎、Tomcat连接器。Server通过实现Lifecycle接口,提供了 一种优雅的启动和关闭整个系统的方式。
-
Service
服务是Server内部的组件,一个Server包含多个Service。它将若干个Connector组件绑定到一个Container(Engine)上。
-
Connector
连接器主要是处理与客户端的通信,它负责接收客户请求,然后转给相关的容器处理,最后向客户返回响应结果。
-
Container
容器负责处理用户的Servlet请求,并返回对象给web用户的模块。
Container的主要组件结构
Tomcat设计了4种容器,分别是Engine、Host、Context和Wrapper。这4种容器不是平行关系,而是父子关系。Tomcat通过一种分层的架构,使得Servlet容器具有很好的灵活性。
Container的各个组件的作用:
-
Engine
表示整个Catalina的Servlet引擎,用来管理多个虚拟站点,一个Service最多只能有一个Engine,但是一个引擎可包含多个Host。
-
Host
代表一个虚拟主机或者说一个站点,可以给Tomcat配置多个虚拟主机地址,而一个虚拟主机下可包含多个Context。
-
Context
表示一个Web应用程序, 一个Web应用可包含多个Wrapper。
-
Wrapper
表示一个Servlet,Wrapper 作为容器中的最底层,不能包含子容器。
三.TOMCAT安装与配置
1.环境准备
关闭防火墙
关闭SELinux
2.Tomcat下载
3.Tomcat解压
4.Tomcat安装
5.java安装
6.Tomcat启动与关闭(可以写个脚本方便启动与关闭)
-
脚本
-
启动
-
关闭
7.Tomcat启动验证
四.TOMCAT配置文件详解
1.配置文件目录
五.TOMCAT高可用项目
1、项目概述
由于单台Tomcat的承载能力是有限的,当我们的业务系统用户量比较大,请求压力比较大时,单台Tomcat是扛不住的,这个时候,就需要搭建Tomcat的集群,而目前比较流程的做法就是通过Nginx来实现Tomcat集群的负载均衡。