Tomcat部署及优化

Tomcat部署及优化

一:什么是tomcat

tomcat是由Apache软件基金会Jakarhe项目中的一个核心项目,是一个免费的、开源的软件,深受Java爱好者的喜爱,也是目前比较流行的web应用服务器(中间件)。其工作模式是网页端–服务器(B/S)

二:tomcat核心组件

image-20220726185327556

web容器:完成web服务器的功能

tomcat web应用服务

web可以通过http(s)来访问一个页面–文件

web容器–》封装了一组文件

集中化管理–》一组组员的对象

servlet容器:名字为Catalina,用于处理servlet代码。

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

jsp容器:用于将jsp动态页面翻译成servlet代码

全称是java server pages,是一种动态网页开发技术。使用jsp标签在HTML网页中插入java代码。通常以<%开头,以%>结束

JSP是一种Java servlet,主要用于实现Java web应用程序的用户界面部分

jsp通过网页表单获取用户输入的数据,访问数据库及其他数据,然后动态创建网页。

动态页面:可以让用户进行交互的一种web页面

后端进行交互

index.jsp—>tomcat 的Java环境—和数据交互

因此,tomcat是web应用服务器,也是一个servlet/JSP容器。tomcat作为servlet容器,负责处理客户请i去,把请求传送给servlet,并将servlet的响应传送回给客户

一个系统可以装多个tomcat,实现负载均衡

二:核心组件

1:web容器:

接受、响应请求

展示动态页面

入口 出口

2:JSP容器:翻译Java 》servlet

index.jsp —> Java环境 和数据库怎么进行交互,怎么连接到后端

index.jsp—>java类代码—》就是决定对接后端的执行代码,所以我们需要再进行与用户交互时,将用户发出的请求、数据传输到后端

但是index.jsp中的一些Java代码无法直接执行对接或者调用,需要先翻译可直接执行的代码方式—》格式serverlst代码格式

3:serverlet容器:serverlet代码格式就是用JSP来处理

三:功能组件结构

tomcat功能组件结构:

tomcat的核心功能有两个,分别时负责接受和反馈外部请求的连接器connector,和负责处理请求的容器container

其中连接器和容器相辅相成,一起构成了基本的web服务service,每个tomcat服务器可以管理多个service

Connector:负责对外接受和响应请求。它是tomcat与外界的交通枢纽,监听端口接收外界请求,并将请求处理后传递给容器做业务处理,最后将容器处理后的结果响应给外界

container:负责对内处理业务逻辑,其内部由Engine、Host、Context和Wrapper四个容器组成,用于管理和调用servlet相关逻辑

service:对外提供的web服务,主要包含Connector和Container两个核心组件,以及其他功能组件。tomcat可以管理多个service,且各service之间相互独立

Containet结构分析:

每个service会包含一个 Containet容器,其中包含了四个子容器:

(1)Engine:引擎,用来管理多个虚拟主机,一个service最多只能有一个Engine

(2)Host:代表一个虚拟主机,也可以叫站点,通过配置Host就可以添加站点

(3)Context:代表一个web应用,包含多个servlet封装器

(4)Wrapper:封装器,容器的最底层,每一个wrapper封装着一个servlet,负责对象实例的创建、执行、和销毁

Engine、host、context、wrapper这四个容器属于父子关系

容器 由一个引擎可以管理多个虚拟主机,每个虚拟主机可以管理多个web应用,每个web应用会有多个servlet封装器

四:请求处理过程

image-20220726202446853

第一部分

image-20220726202908248

第二部分

image-20220726222835145

简单架构

Snipaste_2022-07-26_12-17-34

用户再浏览器输入网址,请求被转发到本机端口8080,被在那里监听的connector获取

connector把该请求交给它所在的service的Engine(Container)来处理,并等待Engine的回应

请求在Engine、Host、Context、和Wrapper这四个容器之间层层调用,最后在servlet中执行相对应的业务六级、数据存储等。

执行完之后的请求响应在Context、Host、Engine之间层层返回,最后返回给Connector,并通过Connector返回给客户端。

五:安装tomcat

在安装tomcat之前,要先安装JDK

systemctl stop firewalld
systemctl disable firewalld
setentorce 0
cd /opt
rpm -qpl jdk-8u201-linux-x64.rpm     #进行解压与升级安装
rpm -ivh jdk-8u201-linux-x64.rpm
Java -version

image-20220726224955094

安装的目录在这里

image-20220726225421804

设置JDK环境变量

vim /etc/profile.d/java.sh
export JAVA_HOME=/usr/java/jdk1.8.0_201-amd64
export CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar
export PATH=$JAVA_HOME/bin:$PATH
source /etc/profile.d/java.sh    #刷新环境变量

image-20220726230141945

安装tomcat

cd /opt
tar zxvf apache-tomcat-9.0.16.tar.gz

移动tomcat

mv apache-tomcat-9.0.16 /usr/local/tomcat
/usr/local/tomcat/bin/startup.sh         #开启tomcat服务

image-20220726230744556

查看端口

netstat -antlp |grep 8080
netstat -antlp |grep java

image-20220726230908772

查看页面

h #开启tomcat服务


[外链图片转存中...(img-VVEjeqoU-1660814723966)]

查看端口

netstat -antlp |grep 8080
netstat -antlp |grep java


[外链图片转存中...(img-xVbwBAoQ-1660814723966)]

查看页面

![image-20220726231153955](https://img-blog.csdnimg.cn/img_convert/832082dfb29144392f1a485ee31ee7a3.png)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值