企业架构LNMP学习笔记58

2023-09-18 09:21:18

开始学习Tomcat:

学习目标和内容:

1)能够描述Tomcat的使用场景;

2)能够简单描述Tomcat的工作原理;

3)能够实现部署安装Tomcat;

4)能够实现和配置Tomcat的Server服务和自启动;

5)能够实现Tomcat的Host的配置;

6)能够实现Nginx的反向代理Tomcat;

7)能够实现Nginx负载均衡到Tomcat;

Tomcat介绍:

1、简介:

Serverlet和JSP规范总是能在tomcat中得到体现,tomcat支持最新的Servlet和JSP规范。由于tomcat技术先进、性能稳定、而且免费,因而深受Java爱好者的喜爱,并得到部分软件开发商的认可,成为目前比较流行的Web应用服务器。

Java开发,Java开发web项目,就是使用tomcat。

Servlet是java的一个类组件。

JSP:JavaServerPage。

同类软件:

jboss、jetty

weblogic Oracle商业用付费 EJB企业支持 重载配置

websphere:IBM 商业授权

Resin 是CAUCHO公司的产品,是一个非常流行的Application Server, 对Servlet和JSP提供了良好的支持,性能也比较优良。resin自身采用JAVA语言开发。

还是使用tomcat,市场率最高的。

java

gui 软件  桌面软件

web  serverlet JSP  ssh  springboot springcloud

tomcat是给web提供服务的,是web应用服务器。本身也是java语言开发的。

安卓

工作原理:

tomcat也被称为中间件或者容器。

coyote是tomcat的Connector框架的名字,简单说就是coyote来处理底层的socket,并将http请求、响应等字节流层面的东西,包装成Request和Response两个类(这两个类是tomcat定义的,而非servlet中的ServletRequest和ServletResponse),供容器使用。

请求类

响应类

1、用户点击网页内容,请求被发送到本机端口8080,被在那里监听的Coyote HTTP/1.1 Connector获得。

2、Connector把该请求交给它所在的Service的Engine来处理,并等待Engine的回应。

3、Engine获得请求localhost/test/index.jsp,匹配所有的虚拟主机Host。

4、Engine匹配到名为localhost的Host(即使匹配不到也把请求交给该Host处理,因为该Host被定义为该Engine的默认主机),名为localhost的Host获得请求/test/index.jsp,匹配它所拥有的所有的Context。Host匹配到路径为/test的Context(如果匹配不到就把该请求交给路径名为“ ”的Context去处理)。

5、path=“/test”的Context获得请求/index.jsp,在它的mapping table中寻找出对应的Servlet。Context匹配到URL PATTERN为*.jsp的Servlet,对应于JspServlet类。

6、构造HttpServletRequest对象和HttpServletResponse对象,作为参数调用JspServlet的doGet()或doPost().执行业务逻辑、数据存储等程序。

7、Context把执行完之后的HttpServletResponse对象返回给Host。

8、Host把HttpServletResponse对象返回给Engine。

9、Engine把HttpServletResponse对象返回Connector。

10、Connector把HttpServletResponse对象返回给客户Browser。

运维主要操作绑定虚拟机Host。

tomcat有连接器和容器。容器是用来解析java代码的。

安装与配置:

安装方式介绍:

1)yum安装 加载epel源,版本目前为tomcat7.0

tomcat7.0使用也还行。但是安装最新的方式就要换下。

2)二进制方式安装, 直接下载, 部署好java环境,即可运行(推荐);

3)源码安装方式 需要下载Apache Ant进行编译安装。

配置java的环境变量:

export JAVA_HOME=/usr/local/java
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
 

source /etc/profile

测试下java的版本:

如果配置JAVA_HOME路径配置到jdk下就可以,不需要配置到bin下。

如果配置java的环境环境变量PATH,就指定到bin下。

如果启动tomcat,遇到如下问题

①没有安装jre jdk

②环境变量没有配置

③启动的软件找不到需要的java相关软件

tar -zxvf apache-tomcat-10.1.13.tar.gz
mv apache-tomcat-10.1.13 /usr/local/tomcat

软件部署后的目录结构:

这个是一个绿色的软件,这样,就等于是安装完成了。

在这个之前,遇到一个jdk17没有jre。那么使用jlink命令进行生成。

 目录介绍:

bin:存放的是启动和关闭tomcat的脚本文件;

conf:存放tomcat服务器的各种全局配置文件,其中最重要的是server.xml和web.xml

lib: 存放的是tomcat服务器所需要的各种jar文件。

logs:存放tomcat执行时的日志文件

temp:是tomcat存放的临时文件

webapps:tomcat默认存放应用程序的目录,好比apache的默认网页存放路径一样/var/www/html

work: 用于存放JSP应用程序在部署时编译后产生的class文件。

更多推荐

区块链交易平台开发流程

随着区块链技术的日益发展,越来越多的金融机构和创业公司开始探索开发区块链交易平台的潜力。以下是一篇关于区块链交易平台开发流程的指南。一、理解区块链技术在开发区块链交易平台之前,必须深入理解区块链技术的内在机制和原理。区块链是一种分布式数据库,通过去中心化和去信任的方式维护可靠的数据记录,使得任何达成一致的双方能够直接进

springboot和vue:三、web入门(spring-boot-starter- web+控制器+路由映射+参数传递)

spring-boot-starter-webSpringBoot将传统Web开发的mvc、json、tomcat等框架整合,提供了spring-boot-starter-web组件,简化了Web应用配置。创建SpringBoot项目勾选SpringWeb选项后,会自动将spring-boot-starter-web组

Android 回声消除

Android回声消除前言在语音聊天、语音通话、互动直播、语音转文字类应用或者游戏中,需要采集用户的麦克风音频数据,然后将音频数据发送给其它终端或者语音识别服务。如果直接使用采集的麦克风数据,就会存在回音问题。所谓回音就是在语音通话过程中,如果用户开着扬声器,那么自己讲话的声音和对方讲话的声音(即是扬声器的声音)就会混

c++基础:new函数

new函数new是用于动态分配内存的操作符。它用于在堆内存中创建一个新的对象或数据结构,并返回一个指向该内存的指针。这是C++中进行动态内存分配的主要方式之一,通常与delete操作符一起使用来释放先前分配的内存。以下是使用new操作符的一些示例:动态分配一个整数,并将其赋值给指针:int*pInt=newint;*p

Python基础运算分享

Python的运算符和其他语言类似(我们暂时只了解这些运算符的基本用法,方便我们展开后面的内容,高级应用暂时不介绍)数学运算>>>print1+9#加法>>>print1.3-4#减法>>>print3*5#乘法>>>print4.5/1.5#除法>>>print3**2#乘方>>>print10%3#求余数判断判断是

抖音开网店无货源怎么找

随着社交媒体的快速发展,抖音已经成为了一种极具潜力的电商平台。许多人想要利用这个平台开设网店,但是其中很多人面临的问题是如何找到货源。无货源的抖音网店经营固然具有一定的难度,但并非不可行。以下是一些帮助你在抖音开网店无货源的方法。代销合作:寻找与制造商或批发商的代销合作是一种常见的方式。你可以与他们签订协议,销售他们的

1787_函数指针的使用

全部学习汇总:GitHub-GreyZhang/c_basic:littlebitsofc.前阵子似乎写了不少错代码,因为对函数指针的理解还不够。今天晚上似乎总算是梳理出了一点眉目,在先前自己写过的代码工程中做一下测试。先前实现过一个归并排序算法,算法函数的一个传入参数是指向一个比较功能函数的指针。当时进行代码实现的时

数据治理-数据存储和操作-数据架构类型

数据库可以分为集中式数据库和分布式数据。集中式系统管理单一数据库,而分布式系统管理多个系统上的多个数据库。分布式系统组件可以根据组件系统的自治性分为两类:联邦的和非联邦的。集中式数据库集中式数据库将所有数据存放在一个地方的一套系统中,所有用户连接到这套系统进行数据访问。对某些访问受限的数据来说,集中化可能是理想的,但对

如何在Spring Boot中配置双数据源?

如何在SpringBoot中配置双数据源?背景双数据源优点技术用法添加依赖配置数据源创建实体类和存储库配置数据源和实体管理器配置事务管理器实现双数据源背景在许多应用程序中,可能会遇到需要连接多个数据库的情况。这些数据库可以是不同的类型,例如关系型数据库和NoSQL数据库,或者它们可以是相同类型但包含不同的数据。为了处理

Spring Boot 如何配置 Hikari 数据库连接池

目录一、SpringBoot介绍二、什么是数据库连接池三、Hikari介绍四、配置Hikari一、SpringBoot介绍SpringBoot是一个开源的Java框架,它简化了基于Spring的应用程序的开发和部署。它提供了一种快速、方便的方式来创建独立的、可扩展的、生产级别的Spring应用程序。SpringBoot

Matlab--微积分问题的计算机求解

目录1.单变量函数的极限问题1.1.公式例子1.2.对应例题12.多变量函数的极限问题3.函数导数的解析解4.多元函数的偏导数5.Jacobian函数6.Hessian矩阵7.隐函数的偏导8.不定积分问题的求解9.定积分的求解问题10.多重积分的问题求解1.单变量函数的极限问题1.1.公式例子%%%3.1.1.单变量函

热文推荐