企业架构LNMP学习笔记58

开始学习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文件。

相关推荐
.生产的驴21 分钟前
SpringCloud OpenFeign用户转发在请求头中添加用户信息 微服务内部调用
spring boot·后端·spring·spring cloud·微服务·架构
丁总学Java1 小时前
ARM 架构(Advanced RISC Machine)精简指令集计算机(Reduced Instruction Set Computer)
arm开发·架构
蓝染-惣右介1 小时前
【MyBatisPlus·最新教程】包含多个改造案例,常用注解、条件构造器、代码生成、静态工具、类型处理器、分页插件、自动填充字段
java·数据库·tomcat·mybatis
.Ayang1 小时前
tomcat 后台部署 war 包 getshell
java·计算机网络·安全·web安全·网络安全·tomcat·网络攻击模型
ZOMI酱3 小时前
【AI系统】GPU 架构与 CUDA 关系
人工智能·架构
lwprain3 小时前
常用docker应用部署,wordpress、mysql、tomcat、nginx、redis
mysql·docker·tomcat
_半夏曲4 小时前
node.js、nginx、iis、tomcat针对部署方面的简述
nginx·node.js·tomcat