nginx与tomcat的区别?

news/2024/6/16 11:11:58/文章来源:https://blog.csdn.net/qq_43539664/article/details/137167500

关于nginx和tomcat的概念

网上有很多关于nginx和tomcat是什么东西的定义,我总结了一下:

tomcat是Web服务器HTTP服务器、应用服务器、Servlet容器、web容器。
Nginx是Web服务器HTTP服务器、正向/反向代理服务器,。
这里有两个概念是交叉的:Web服务器和HTTP服务器。我们主要是从交叉概念来看这两个的区别,因为没有交叉的概念已经从名字说明了它们的不同。

交叉概念一:Web服务器

tomcat和Nginx都是Web服务器,当然,Web服务器的概念很广泛。Web服务器代指硬件或软件,或是它们协同工作的整体。

  1. 硬件部分:Web服务器是一台计算机,存储了Web服务器软件以及网站的组成文件(比如HTML文档、图片、CSS等)。它接入到互联网,并支持与其他互联网设备进行物理数据的交互。
  2. 软件部分:Web服务器包括控制网络用户如何访问托管文件的几个部分,至少是一台HTTP服务器

所以,光从Web服务器的概念无法看出nginx和tomcat的区别。

交叉概念二:HTTP服务器

nginx和tomcat都是HTTP服务器,可以运行在服务器上,绑定服务器的ip地址,并监听某一个tcp端口来接收或处理http请求。
在这里插入图片描述
静态资源:无论何时,无论谁访问都是一样的。比如将静态文本通过HTTP协议返回给客户端
动态资源:不同时间、不同客户端访问的是不一样的

tomcat能够动态的生成资源并返回客户端,也可以返回客户端静态的资源
在这里插入图片描述
nginx只能返回客户端静态的资源
在这里插入图片描述
所以,war包不能部署到nginx上,war包需要部署到servlet容器中,也就是Tomcat中。
ngxin可以做正向代理、反向代理服务器的功能。

tmocat和nginx的区别

TomcatNginx
HTTP服务器
Servlet容器不是
响应静态资源可以(war里面,ROOT目录下)可以(html目录下)
响应动态资源可以不可以
正向代理不可以可以
反向代理不可以可以

tomcat和nginx配合使用

我们通常的做法是将tomcat和Nginx配合起来使用:

  • 动静态资源分离,通过nginx反向代理功能,将所有动态资源的请求转发给Tomcat。而静态资源则由nginx返回浏览器
  • 负载均衡,当业务压力增大,一个tomcat实例不足以处理时,可以创建多个tomcat实例,每个实例都是一摸一样的,处理监听的tcp接口不一样。然后利用nginx反向代理功能,将http请求转发给这些实例中的某一个来处理,采用特定的算法来转发,实现负载均衡。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_1035139.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Centos8/linux/虚拟机安装docker

docker分为ce版和ee版,个人使用ce版就行了,别问为什么,问就是ee版收费。 这是在线版的,离线版的请参考Centos8离线下载安装docker 1.首先切换到root用户 2.为确保安装时出现不必要的问题,先更新一下yum包 sudo yum…

MAC的Safari浏览器没有声音解决办法

有一段时间没打开电脑,也不知道是系统自动更新或是什么缘故,所有浏览器都无法正常发声。 现象如下: 首先,Safari浏览器无法自动播放声音,下载的360浏览器现象一致,但是播放其他音乐播放软件和视频软件都正…

精通Go语言文件上传:深入探讨r.FormFile函数的应用与优化

1. 介绍 1.1 概述 在 Web 开发中,文件上传是一项常见的功能需求,用于允许用户向服务器提交文件,如图像、文档、视频等。Go 语言作为一门强大的服务器端编程语言,提供了方便且高效的方式来处理文件上传操作。其中,r.F…

【SpringCloud】认识微服务

目 录 一.服务架构演变单体架构分布式架构服务治理微服务总结 二.微服务技术对比微服务结构微服务技术对比企业需求 三.SpringCloud 一.服务架构演变 单体架构 单体架构:将业务的所有功能集中在一个项目中开发,打成一个包部署。 优点: 架…

Linux系统使用Docker部署Jupyter Notebook结合内网穿透实现公网访问本地笔记

文章目录 1. 选择与拉取镜像2. 创建容器3. 访问Jupyter工作台4. 远程访问Jupyter工作台4.1 内网穿透工具安装4.2 创建远程连接公网地址4.3 使用固定二级子域名地址远程访问 本文主要介绍如何在Ubuntu系统中使用Docker本地部署Jupyter Notebook,并结合cpolar内网穿透…

docker搭建CI/CD环境配置过程中的常见问题

一、Jenkins 1、pull镜像问题 docker pull jenkins/jenkins:lts Using default tag: latest Trying to pull repository docker.io/library/centos ... Get https://registry-1.docker.io/v2/library/centos/manifests/latest: Get https://auth.docker.io/token?scoperepo…

以柔克刚,以静制动,以弱胜强 举几个生活中通俗易懂的经典案例,说明这些伟大的智慧的精妙之处 省力的竞争策略

简单易懂 很神奇 省力的竞争策略 以柔克刚 案例:柔道运动。柔道是一种利用对手力量的武术,它教导人们如何将对手的力量转化为自己的优势。柔道中的摔法、招式都是以柔克刚的体现,通过巧妙引导而非硬碰硬的对抗,使得体型较小的选…

Open3D(C++) 基于随机抽样与特征值法的点云平面稳健拟合方法

目录 一、算法原理1、论文概述2、参考文献二、代码实现三、结果展示四、测试数据本文由CSDN点云侠原创,原文链接。如果你不是在点云侠的博客中看到该文章,那么此处便是不要脸的GPT爬虫。 一、算法原理 1、论文概述 针对点云数据含有异常值且传统拟合方法拟合结果不理想的情…

城市治理/县域治理方案:构建基于AI视频能力的“一张网”,助力新型城市发展

TSINGSEE青犀AI算法中台是一款平台型产品,专注于提供各行业中小场景部署解决方案。平台具备接入广、性能强、支持跨平台、芯片国产化等特点,可提供丰富的视图接入能力和智能分析能力。 平台采用了多项IT高新技术,包括视频编解码技术、嵌入式…

linux删除 buff/cache缓存

1.查看当前内存占用 free -h如图,缓存占用了将近9G,接下来进行清理 释放页缓存 echo 1 > /proc/sys/vm/drop_caches释放dentries和inodes echo 2 > /proc/sys/vm/drop_caches释放所有缓存 echo 3 > /proc/sys/vm/drop_caches再次查看&#…

Linux:TCP的流量控制/滑动窗口/延迟应答

文章目录 流量控制滑动窗口延迟应答 本篇要总结的是对于TCP的一些其他概念进行总结 流量控制 接收端处理数据的速度是有限的. 如果发送端发的太快, 导致接收端的缓冲区被打满, 这个时候如果发送端继续发送,就会造成丢包, 继而引起丢包重传等等一系列连锁反应 因此TCP支持根据…

如何在比特币上验证ZK Proofs

1. 引言 前序博客有: 基于BitVM的乐观 BTC bridgeBitVM:Bitcoin的链下合约Bitcoin Bridge:治愈还是诅咒?BitVM2:比特币上的无需许可验证以比特币脚本来实现SNARK VerifierClementine:Citrea的基于BitVM的…

element-ui tableData导出为xlsx文件

下载 npm i / yarn add file-saver、xlsx库 引入 import FileSaver from “file-saver”; import XLSX from “xlsx”; const simexport (data) > {// if (data.create_time && data.create_time.length > 0) {// data.start_time parseTime(data.create_tim…

JDK,JRE,JVM 区别和联系【大白话Java面试题】

JDK,JRE,JVM 区别和联系 大白话回答: JDK是开发环境一般开发人员需要,包含开发环境(JDK)和运行环境(JRE),JRE是运行环境,普通用户需要。jre文件夹下的bin文件夹就是JVM的…

搭建电商网站外贸网站用API接口可以实现哪些功能(天猫API接口|京东API接口)

在电商领域,API接口可以实现多种功能,起到连接内外部系统及优化电商业务流程等多种作用,从而来提高电商企业的运营效率。 具体来看,API接口接入可以用来: 商品管理: API接口能够用来获取商品详情等&#…

【原创】基于springboot+vue的会议室预约管理系统

个人主页:程序猿小小杨 个人简介:从事开发多年,Java、Php、Python、前端开发均有涉猎 博客内容:Java项目实战、项目演示、技术分享 文末有作者名片,希望和大家一起共同进步,你只管努力,剩下的交…

AI音乐GPT时刻来临:Suno 快速入门手册!

✨✨ 欢迎大家来访Srlua的博文(づ ̄3 ̄)づ╭❤~✨✨ 🌟🌟 欢迎各位亲爱的读者,感谢你们抽出宝贵的时间来阅读我的文章。 我是Srlua小谢,在这里我会分享我的知识和经验。&am…

【Go】七、包、init函数、匿名函数、闭包

文章目录 1、包2、本质3、init函数4、匿名函数5、闭包 1、包 不同的包,不同的功能和业务,互相import 关于包: package 包名注意点: 建议包名和所在文件夹同名 main函数一定要放在main包下,否则编译报错 go run&a…

如何划分训练集、测试集、验证集

训练集、测试集和验证集是在机器学习和数据科学中常用的术语,用于评估和验证模型的性能。它们通常用于监督学习任务中。 1. 训练集(Training Set):训练集是用于训练机器学习模型的数据集。在训练期间,模型使用训练集中…

若依框架mysql 搜索中文等于不生效

背景&#xff0c;字段存储的是中文 不生效代码如下 <if test"constellation ! null and constellation ! ">AND u.constellation #{constellation}</if> 正确生效的代码如下 <if test"constellation ! null and constellation ! ">A…