Tomcat服务(部署、虚拟主机配置、优化)

目录

一、介绍tomcat服务器

1、 servlet

2、JSP

3、tomcat核心组件

4、Tomcat处理请求过程

1、Tomcat 功能组件结构

二、tomcat数据流向

三、部署Tomcat

1、部署(JDK)

1、解jdk包

2、设置JDK的环境变量

3、设置好以后,编写java脚本来验证安装

2、安装启动 Tomcat

1、解tomcat包

2、查看tomcat文件及文件说明​编辑

3、优化管理tomcat

4、页面访问tomcat

三、优化Tomcat

四、Tomcat虚拟主机配置

1、创建2个项目目录和文件

2、修改 Tomcat 主配置文件

3、 关闭和开启tomcat服务

4、虚拟机验证

五、Tomcat优化

1、常用的优化相关参数如下Tomcat配置文件参数

2、优化配置

总结


一、介绍tomcat服务器

Tomcat 是 Java 语言开发的,Tomcat 服务器是一个免费的开放源代码的 Web 应用服务器,是 Apache 软件基金会的 Jakarta 项目中的一个核心项目,由 Apache、Sun 和其他一些公司及个人共同开发而成。

Tomcat 属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试 JSP 程序的首选。一般来说,Tomcat 虽然和 Apache 或者 Nginx 这些 Web 服务器一样,具有处理 HTML 页面的功能,然而由于其处理静态 HTML 的能力远不及 Apache 或者 Nginx,所以 Tomcat 通常是作为一个 Servlet 和 JSP 容器,单独运行在后端。

1、 servlet

Servlet 是Java Servlet 的简称,可以理解为是一个服务连接器,是用 Java 编写的服务器端程序,具有独立于平台和协议的特性, 简单的理解:servlet 就是一个中间件,包含了接口和方法,将客户端和数据库连接,从而实现动态网页的创建。

2、JSP

JSP 全称 Java Server Pages,是一种动态网页开发技术。它使用 JSP 标签在HTML网页中插入 Java代码。标签通常以 <% 开头,以 %> 结束。
JSP 是一种 Java servlet,主要用于实现 Java web 应用程序的用户界面部分。
JSP 通过网页表单获取用户输入数据、访问数据库及其他数据源,然后动态地创建网页

3、tomcat核心组件

通常意义上的 web 服务器接受请求后,只是单纯地响应静态资源,如HTMI文件,图片文件等,不能在后端进行一定的处理操作。

Tomcat是 Apache 下的一个子项目,它具备 web服务器的所有功能(WEB容器嵌入Servlet-》动态请求),不仅可以监听接受请求并响应静态资源,而且可以在后端运行特定规范的Java代码servlet,同时将执行的结果以HTML代码的形式写回客户端。

tomcat主要的三个容器:web容器、jsp容器、servlet容器
什么是容器?
容器就是封装一组资源/功能集合的个体。

Tomcat 由一系列的组件构成,其中核心的组件容器有三个:

Web 容器: 完成Web服务器的功能HTTP/HTTPS 请求的接收和响应。
​ 描述: ①接收、响应请求,②展示动态页面

JSP 容器 : 用以将index.jsp文件中的java代码翻译成Servlet 代码。
​ 描述: index.jsp文件里面有静态展示的html语言,还有一些java类代码,但是文件中java代码无法直接被tomcat执行,所以需要先翻译为可以执行的代码方式,也就是翻译成servlet代码格式。

Servlet 容器: 由名称为Catalina的脚本来处理Servlet 代码。
​ 描述: 使用catalina进行处理JSP容器翻译过来的servlet代码。

总体描述:(各组件之间如何对接)

假如用户需要登录支付宝查看个人信息,通过网页的nginx服务的80端口,请求访问动态请求,nginx将请求反向代理到tomcat服务的8080端口,那么tomcat就收到了用户的请求,

请求给到Web 容器中有index.jsp 文件,里面存在java代码,需要处理动态请求,tomcat就去读取该文件中的java代码,但是java代码无法被tomcat识别,

所以就需要使用JSP 容器将index.jsp文件中的java代码,翻译为servlet代码,翻译成servlet代码后,就需要使用servlet 容器进行处理servlet代码。

那么selvlet容器会通过catalina脚本执行servlet代码。执行完成之后,使用api接口调用对应的支付宝应用,

支付宝收到用户的请求后,会进行调用mysql数据库的3306端口进行确认数据,最后将数据返回到用户。

4、Tomcat处理请求过程

Tomcat的端口为8080,但是监听8080端口的不是tomcat主进程,而是connector的连接器(java写的)监听的。使用netstat -natp |grep tomcat 无法查看到tomcat端口需要使用:netstat -natp | grep 8080 查看

1、Tomcat 功能组件结构

Tomcat 的核心功能有两个,分别是负责接收和反馈外部请求的连接器 Connector,和负责处理请求的容器 Container。 其中连接器和容器相辅相成,一起构成了基本的 web 服务 Service。每个 Tomcat 服务器可以管理多个 Service。

Connector:负责对外接收和响应请求。它是Tomcat与外界的交通枢纽,监听端口接收外界请求,并将请求处理后传递给容器做业务处理,最后将容器处理后的结果响应给外界。
Container:负责对内处理业务逻辑。其内部由 Engine、Host、Context和Wrapper 四个容器组成,用于管理和调用Servlet 相关逻辑。
Service:对外提供的 Web 服务。主要包含 Connector 和 Container
两个核心组件,以及其他功能组件。Tomcat 可以管理多个 Service,且各 Service 之间相互独立。

Container 结构分析

每个 Service 会包含一个 Container 容器,在 Container 内部包含了 4 个子容器。

4个子容器的作用分别是
(1)Engine:引擎,用来管理多个虚拟主机,一个 Service 最多只能有一个 Engine;
(2)Host:代表一个虚拟主机,也可以叫站点,通过配置 Host 就可以添加站点;
(3)Context:代表一个 Web 应用,包含多个 Servlet 封装器,用于连接Host项目和servlet容器
(4)Wrapper:封装器,容器的最底层。每一个 Wrapper 封装着一个 Servlet,负责对象实例的创建、执行和销毁功能。

Engine、Host、Context 和 Wrapper,这四个容器之间属于父子关系。
容器由一个引擎可以管理多个虚拟主机。
每个虚拟主机可以管理多个 Web 应用。
每个 Web 应用会有多个 Servlet 封装器。

用户请求过程

①用户访问网页内容,申请动态访问请求,通过nginx的80端口反向代理到tomcat的8080端口。

②到了tomcat后,被在那里监听的connector(连接器中)的Coyote(java框架)监听到。

③接收到请求之后,将请求交给container(容器)中的engine(引擎)进行处理,engine是作为容器运行的动力核心。

④基于engine支撑,容器中会跑很多host虚拟主机(项目),这些虚拟主机中也会有很多的项目,然后通过context(当前程序所处的环境)连接到servlet容器。

⑤servlet处理完成后返回给context。

⑥context再返回给engine,engine再返回给端口,端口最后将页面展现给用户

二、tomcat数据流向

用户请求(访问80端口)——》

发送请求发送给tomcat——》

tomcat有一个端口在监听8080端口)

从8080端口进入流量的会被在此端口的线程监听到

给与我们的web容器进行处理(有index.html页面显示出来  从8080端口来时会有交互界面  会读取到index.jsp这种java代码)

但是java代码无法直接使用——》

需要利用到js

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值