Apache Tomcat部署

Tomcat概述

Apache Tomcat(简称“Tomcat”)是Jakarta Servlet、Jakarta Expression Language和WebSocket技术的免费开源实现。它提供了一个纯 Java HTTP Web 服务器环境,Java代码也可以在其中运行。因此,它是一个 Java Web 应用服务器,尽管不是完整的 JEE 应用服务器。
在这里插入图片描述

使用场景

  • 作为Web服务器,处理静态网页请求,如html页面,但是性能一般(只有nginx的六分之一);
  • 作为Servlet/JSP容器,运行JAVA语言开发的jsp动态网页程序,并作为中间件实现前端Web和后端数据库的协同工作,这也是tomcat的主要应用场景。

Tomcat组件

在这里插入图片描述
Tomcat 由一系列的组件构成,其中核心的组件有三个:

  • Web 容器:完成 Web 服务器的功能。
  • Servlet 容器:名字为 catalina,用于处理 Servlet 代码。
  • JSP 容器:用于将 JSP 动态网页翻译成 Servlet 代码。

什么是 servlet?

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

什么是 JSP?

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

Tomcat 功能组件结构

在这里插入图片描述

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

Tomcat 的核心功能有两个,分别是负责接收和反馈外部请求的连接器Connector和负责处理请求的容器 Container

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

Container 结构

每个 Service 会包含一个 Container 容器。在 Container 内部包含了 4 个子容器:
4个子容器的作用分别是:

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

Connector结构

在这里插入图片描述

Tomcat工作原理

在这里插入图片描述

  1. 用户在浏览器中输入网址,请求被发送到本机端口 8080,被在那里监听的 Connector 获得;
  2. Connector 把该请求交给它所在的 Service 的 Engine(Container)来处理,并等待 Engine 的回应;
  3. 请求在 Engine、Host、Context 和 Wrapper 这四个容器之间层层调用,最后在 Servlet 中执行对应的业务逻辑、数据存储等。
  4. 执行完之后的请求响应在 Context、Host、Engine 容器之间层层返回,最后返回给 Connector,并通过 Connector 返回给客户端。

Tomcat部署

准备工作

systemctl disable firewalld.service --now

vim /etc/selinux/config
	
	将“SELINUX=enforcing”修改成“SELINUX=0reboot	

安装配置JDK

yum安装

yum install -y java

java -version

在这里插入图片描述
在这里插入图片描述

绿色安装

cd /opt/

tar xf jdk-8u391-linux-x64.tar.gz 

mv jdk1.8.0_391/ /usr/local/
cd /usr/local/

cd jdk1.8.0_391/
ls bin/

在这里插入图片描述

vim /etc/profile
export JAVA_HOME=/usr/local/jdk1.8.0_391
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
---------------------------------小知识-------------------------------------------
CLASSPATH:编译、运行Java程序时,JRE会去该变量指定的路径中搜索所需的类(.class)文件。
JDK :java development kit (java开发工具)
JRE :java runtime environment (java运行时环境)
JVM :java virtuak machine (java虚拟机),使java程序可以在多种平台上运行class文件。
tools.jar:是系统用来编译一个类的时候用到的,即执行javac的时候用到,比如可用来编译JSP文件。
dt.jar:是关于运行环境的类库,主要是swing的包,在用到swing时最好加上。
---------------------------------------------------------------------------------
source /etc/profile
java -version

在这里插入图片描述

在这里插入图片描述

安装启动Tomcat

安装Tomcat

cd /opt/

tar xf apache-tomcat-9.0.16.tar.gz 

mv apache-tomcat-9.0.16 /usr/local/tomcat

cd /usr/local/

cd tomcat/

在这里插入图片描述

启动Tomcat

vim /usr/lib/systemd/system/tomcat.service
	[Unit]
	Description=tomcat server
	Wants=network-online.target
	After=network.target
	
	[Service]
	Type=forking
	Environment="JAVA_HOME=/usr/java/jdk1.8.0_201-amd64"
	Environment="PATH=$JAVA_HOME/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin"
	Environment="CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar"
	ExecStart=/usr/local/tomcat/bin/startup.sh
	ExecStop=/usr/local/tomcat/bin/shutdown.sh
	Restart=on-failure
	
	[Install]
	WantedBy=multi-user.target

systemctl restart tomcat

netstat -natp | grep 8080

在这里插入图片描述

在这里插入图片描述

测试

浏览器访问测试URL;http://serverip:8080
在这里插入图片描述

安装部署supervisor

yum install -y supervisor

vim /etc/supervisord.conf
	······
	[include]
	files = supervisord.d/*.ini -> files = supervisord.d/*.conf

cd  /etc/supervisord.d/

vim tomcat.conf

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值