企业架构LNMP学习笔记58

news2024/12/23 1:35:48

开始学习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.coloradmin.cn/o/1031502.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

如何判断自己的服务器是不是中了勒索病毒,勒索病毒解密数据恢复

勒索病毒日益横行,给企业的生产经营和个人数据造成了极大的影响。但是对单一的企业和个人而言,遭受勒索病毒攻击毕竟是低频率事件,这也导致很多人中招之后,无法判断出具体的问题,进而没有及时采取应对措施,…

【谢希尔 计算机网络】第3章 数据链路层

数据链路层 数据链路层的地位 网络中的主机、路由器等都必须实现数据链路层局域网中的主机、交换机等都必须实现数据链路层不同链路层可能采用不同的数据链路层协议 数据链路层信道类型 点对点信道 使用一对一的点对点通信方式广播通信 必须使用专用的共享系电脑协议来协调这些…

【Java 基础篇】Java多线程实现文件上传详解

文件上传是Web应用程序中常见的功能之一,用户可以通过网页将文件从本地计算机上传到服务器。在处理大文件或多用户并发上传的情况下,为了提高性能和用户体验,常常使用多线程来实现文件上传功能。本文将详细介绍如何使用Java多线程实现文件上传…

【RabbitMQ实战】docker 安装RabbitMQ(bitnami)

一、搜索镜像 [rootlocalhost ~]# docker search rabbitmq NAME DESCRIPTION STARS OFFICIAL AUTOMATED rabbitmq RabbitMQ is an open source multi-pro…

携手走过四年,极智嘉(Geek+)赋能上海西门子开关智慧物流升级

日前,上海西门子开关有限公司迎来了工厂30周年庆典暨客户开放日活动,全球仓储机器人引领者极智嘉(Geek)荣幸作为优秀供应商代表受邀参会,见证其突破革新、数智飞跃的三十载辉煌历程。 客户开放日活动中,上海西门子开关有限公司开…

【SpringCloud】微服务技术栈入门2 - Nacos框架与Feign

目录 Nacos下载 Nacos 并运行配置 NacosNacos 集群Nacos 负载均衡Nacos 环境隔离Nacos 注册细节Nacos 更多配置项快速上手自动更新 Feign取代 RestTemplateFeign 自定义配置性能优化 Nacos 下载 Nacos 并运行 首先下载对应的 release 包,主要要选择已经打包编译好…

链表的回文判断

思路: 找中间节点–>逆置->比较 代码: /*** Definition for singly-linked list.* struct ListNode {* int val;* struct ListNode *next;* };*/struct ListNode* middleNode(struct ListNode* head) { struct ListNode*slowhead; struct ListNode*f…

maven多模块依赖包程序包xxx不存在

背景 rpc-common 被 rpc-server、rpc-client依赖 项目地址 https://github.com/pjmike/springboot-rpc-demo mvn clean install 打包时报错 报错信息 程序包xxxx不存在 找不到符号 原因分析 原因还不清楚&#xff0c;网友们帮解答一下 解决 主pom.xml 添加 <packaging…

23个销量最高的3D扫描仪【2023】

如果你可以 3D 扫描它&#xff0c;你就可以 3D 打印它。 市场上 3D 扫描仪的种类和质量非常丰富&#xff0c;机器尺寸、功能和价格各异。 这样的选择虽然本身是一件很棒的事情&#xff0c;但也会让从无用的东西中挑选出宝石成为一件苦差事。 推荐&#xff1a;用 NSDT编辑器 快速…

如何在linux定时备份opengauss数据库(linux核心至少在GLIBC_2.34及以上)

前提环境&#xff0c;linux的核心至少在GLIBC_2.34及以上才能使用。 查看linux的glibc版本的命令如下 strings /lib64/libc.so.6 | grep GLIBC 如下图 或者用ldd --version 如下图 在官网下载对应的依赖包&#xff0c; 只需要这个lib文件即可&#xff0c;将这个包放在lin…

拓世法宝|短视频带货风潮,数字人教育书单号成销售黑马

Z世代的爸妈&#xff0c;正在搞一种很新的育儿方式。 “躺平式”带娃、“用魔法打败魔法”等新时代育儿方式频频登上热搜&#xff0c;作为与互联网共同成长起来的一代&#xff0c;Z世代父母们更热衷于通过网络攻略获得和分享知识和经验&#xff0c;更注重个性的养育方式&#…

ChatGPT所引用的参考文献根本不存在?如何正确使用AI工具?

从ChatGPT推出以来&#xff0c;一直都是一个热点话题&#xff0c;尤其是在高等教育领域&#xff0c;大家展开了非常激烈的讨论。 巴斯大学对ChatGPT进行测试时发现&#xff0c;ChatGPT生成的论文&#xff0c;其参考文献的引用格式看起来很完美&#xff0c;有作者姓名和期刊名称…

文件、预处理、位运算

10.2 数据文件概述 10.2.1 ASCII文件与二进制文件 ASCII文件就是“将需要保存到文件的信息使用ASCII字符表示&#xff0c;然后按照顺序将每个字符的ASCII码存储到文件中”。ASCII文件的优点是编码方式公开&#xff0c;可以被其它的文本编辑器打开&#xff1b;其缺点是效率比较…

第一章 计算机网络基础

目录 1.1 网络体系结构 1.1.1 OSI/RM七层参考模型 1.1.2 OSI/RM和TCP/IP模型的比较 1.1.3 五层协议的体系结构 1.1.4 计算机1向计算机2发送数据过程 1.1.5 TCP/IP体系结构的具体实现 1.2 网络设备概述 1.2.1 互联设备与OSI的对应关系 1.2.2 集线器(HUB) 1.2.3 网桥(B…

新势力在智能化路上,正抢了Tier 1的生意

作者 | Amy 编辑 | 德新 上半年的汽车行业价格内卷&#xff0c;下半年则一下资本涌入&#xff0c;风起云涌。 先是蔚来拿到了11亿美元来自中东的投资&#xff0c;紧接着7月大众以7亿美元投资小鹏汽车&#xff0c;8月哪吒完成70亿元Crossover轮投资。传闻中&#xff0c;还有大众…

GE IS220PAICH2A 336A4940CSP11 控制脉冲模块

GE IS220PAICH2A 336A4940CSP11控制脉冲模块是一种用于工业自动化和控制系统的模块&#xff0c;通常用于监测和生成脉冲信号&#xff0c;以控制各种设备和过程。以下是可能与该控制脉冲模块相关的一些产品功能&#xff1a; 脉冲生成&#xff1a;GE IS220PAICH2A 336A4940CSP11控…

JCEF中js与java交互、js与java相互调用

jcef中js与java相互调用&#xff0c;java与js相互调用&#xff0c;chrome与java相互调用&#xff0c;java与chrome相互调用、jcef与java相互调用 前提&#xff1a;https://blog.csdn.net/weixin_44480167/article/details/133170970&#xff08;java内嵌浏览器CEF-JAVA、jcef、…

天玑科技PBData信创数据库私有云平台荣获“专题展优秀成果奖”

9月15-16日&#xff0c;由湖南省人民政府、工业和信息化部联合主办的2023世界计算大会在湖南长沙盛大启幕。天玑科技作为云服务、信息技术应用创新领域优秀的解决方案提供商受邀参会参展。 大会以“计算万物 湘约未来——计算产业新变革”为主题&#xff0c;全国政协副主席、民…

GE IS420UCSCH2A-C-V0.1-A模拟量输入模块

GE IS420UCSCH2A-C-V0.1-A 模拟量输入模块是一种用于数据采集和监测的电子模块&#xff0c;通常应用于工业控制系统、监测设备和自动化系统中。以下是可能与该模拟量输入模块相关的一些产品特点&#xff1a; 多通道输入&#xff1a; GE IS420UCSCH2A-C-V0.1-A 模拟量输入模块通…

这个世界,永远靠实力说话

这个世界&#xff0c;永远靠实力说话。与其寄望于运气或机会的降临&#xff0c;还不如脚踏实地&#xff0c;努力提升自己。因为只有强者&#xff0c;才能在这个充满挑战和机遇的世界里谈笑风生&#xff0c;创造出属于自己的成功和辉煌。 就比如峰民dyfm888给人取名改名&#x…