当前位置: 首页 > news >正文

企业架构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文件。

http://www.lryc.cn/news/169915.html

相关文章:

  • [JAVAee]SpringBoot配置文件
  • 复制远程连接到Linux使用VIM打开的内容到Windows
  • 左神算法之中级提升班(9)
  • SmartNews 基于 Flink 的 Iceberg 实时数据湖实践
  • websocket请求通过IteratorAggregate实现流式输出
  • 《C和指针》笔记28:可变参数和stdarg宏
  • Matlab论文插图绘制模板第114期—带图形标记的图
  • Python:用于有效对象管理的单例模式
  • 【TCP】滑动窗口、流量控制 以及拥塞控制
  • Xilinx FPGA管脚约束语法规则(UCF和XDC文件)
  • 服务网格和CI/CD集成:讨论服务网格在持续集成和持续交付中的应用。
  • 代码随想录训练营第56天|583.两个字符串的删除操作,72.编辑距离
  • 【JDK 8-Lambda】3.1 Java高级核心玩转 JDK8 Lambda 表达式
  • 【C#】XML的基础知识以及读取XML文件
  • Immutable.js简介
  • C语言进阶教程(位操作和进制数的表示)
  • Loguru:功能强大、简单易用的Python日志库
  • idea之maven的安装与配置
  • 【最新面试问题记录持续更新,java,kotlin,android,flutter】
  • 面试:经典问题解决思路
  • CG MAGIC分享3ds Max卡顿未保存处理方法有哪些?
  • [python 刷题] 238 Product of Array Except Self
  • UG NX二次开发(C#)-计算直线到各个坐标系轴向的投影角度
  • C# ComboBox 和 枚举类型(Enum)相互关联
  • Linux CentOS7 tree命令
  • 软件设计模式系列之九——桥接模式
  • 构造函数的调用规则
  • 第十章:枚举类与注解
  • ChatGPT:字符串操作问题——提取包含括号的字符串中的题干内容
  • jvm中对象创建、内存布局以及访问定位