nginx与tomcat的区别?

关于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.mzph.cn/news/789556.shtml

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

相关文章

【C++STL详解(二)】——string类模拟实现

目录 前言 一、接口总览 二、默认成员函数 1.构造函数 2.拷贝构造 写法一:传统写法 写法二:现代写法(复用构造函数) 3.赋值构造 写法一:传统写法 写法二:现代写法(复用拷贝构造) 4.析构函数 三、…

包含密钥的OMP压缩感知模拟(MATLAB)

压缩感知(Compressed Sensing,CS)是一种新颖的信号采样和重建理论,它通过利用信号的稀疏性或者低维性,从极少量的观测中直接重建出完整的信号。压缩感知的核心思想是,在合适的条件下,信号本身的稀疏性或低维性可以使其信息内容大幅减少,从而可以通过较少的观测数据进行…

OSPF实验1

1,配置IP地址 [R1]dis ip interface brief Interface IP Address/Mask Physical Protocol GigabitEthernet0/0/0 200.1.1.1/24 up up GigabitEthernet0/0/1 10.1.1.1/24 up …

ORA-01779 BYPASS_UJVC 11.2后废弃了

有这么个update语句 update A t set status 1 where exists (select 1 from B B where B.code A.code) 因性能问题需要修改写法。 在oracle10G这么update是没问题的: update( select …

Linux文件处理之ln命令详解

Linux文件处理之ln命令详解 在Linux系统中,ln命令是一个非常重要的工具,用于创建文件或目录的链接。链接在Linux文件系统中是一个核心概念,它允许用户以不同的路径名访问同一个文件或目录。通过ln命令,我们可以创建硬链接和软链接(也称为符号链接)。本文将详细解释ln命令…

Oracle基础【7-Oracle中RMAN恢复管理器】

🌈个人主页:godspeed_lucip 🔥 系列专栏:Oracle从基础到进阶 本文对应Oracle实验报告源文件下载:公众号程序员刘同学回复oracle实验获取下载链接 实验七 RMAN恢复管理器一、实验目的二、实验环境三、实验内容1 为备份…

jsp实现增删改查——(二)添加、修改、删除学生信息

学生信息CRUD——添加、修改、删除 在上一小节中,我们写好了list.jsp,用一个table表格显示数据库student表中的各个学生的(学号,姓名,生活费,出生日期),并对表格每一行的数据都配有…

【JavaParser笔记02】JavaParser解析Java源代码中的类字段信息(javadoc注释、字段​​​​​​​名称)

这篇文章,主要介绍如何使用JavaParser解析Java源代码中的类字段信息(javadoc注释、字段名称)。 目录 一、JavaParser依赖库 1.1、引入依赖 1.2、获取类成员信息 (1)案例代码 <

MySQL数据库(数据库连接池)

文章目录 1.批处理应用1.基本介绍2.批处理演示1.创建测试表2.修改url3.编写java代码 3.批处理源码分析 2.数据库连接池1.传统连接弊端分析2.数据库连接池基本介绍1.概念介绍2.数据库连接池示意图3.数据库连接池种类 3.C3P0连接池1.环境配置1.导入jar包2.将整个lib添加到项目中3…

从Magic6系列看荣耀AI的野心

监制 | 何玺 排版 | 叶媛 1月11日&#xff0c;荣耀正式发布Magic6系列旗舰手机。3月18日&#xff0c;荣耀举行春季旗舰新品发布会&#xff0c;再发荣耀Magic6至臻版、荣耀Magic6 RSR保时捷设计两款Magic6系列新品。 玺哥观察到&#xff0c;从荣耀Magic6到Magic6 Pro&#xff…

java实现手机号,密码,游邮箱 , 验证码的正则匹配工具类

先定义一个抽象类RegexPatterns&#xff0c;定义相关正则字符串 : public abstract class RegexPatterns {/*** 手机号正则*/public static final String PHONE_REGEX "^1([38][0-9]|4[579]|5[0-3,5-9]|6[6]|7[0135678]|9[89])\\d{8}$";/*** 邮箱正则*/public stat…

AWS上面部署一台jenkins

问题 客户预算有限&#xff0c;需要在aws云上面搞一台EC2手动安装jenkins发版。 步骤 创建密钥对 在EC2服务里面创建密钥对&#xff0c;具体如下图&#xff1a; 设置密钥对&#xff0c;如下图&#xff1a; 保存好这个私钥文件&#xff0c;以便后续用这个私钥文件ssh登录j…

CSS水波纹效果

效果图&#xff1a; 1.创建一个div <div class"point1" click"handlePoint(1)"></div> 2.设置样式 .point1{width: 1rem;height: 1rem;background: #2ce92f;position: absolute;border-radius: 50%;z-index: 999;cursor: pointer;} 3.设置伪…

区块链的应用领域:重塑未来的信任机制

区块链作为一种新兴的技术&#xff0c;正在逐渐改变我们的生活。它以其独特的优势&#xff0c;正在开启一个信任的新时代。在金融、供应链管理、医疗健康、教育、文化娱乐、房地产等众多领域&#xff0c;区块链已经崭露头角&#xff0c;以其独特的方式发挥着作用。 1.金融领域…

【C语言】2048小游戏【附源码】

欢迎来到英杰社区https://bbs.csdn.net/topics/617804998 一、游戏描述&#xff1a; 2048是一款数字益智类游戏&#xff0c;玩家需要使用键盘控制数字方块的移动&#xff0c;合并相同数字的方块&#xff0c;最终达到数字方块上出现“2048”的目标。 每次移动操作&#xff0c;所…

GitLab 新项目创建和使用

一、下载 Git 客户端 Git - Downloading Package (git-scm.com) 二、打开 Git Bash 配置 gitlab 账户 下面的信息可以登录gitlab查看 git config --global user.name "yourname"git config --global user.email "youremailXX.com" 生成ssh_key ssh-k…

The connection errored: Failed host lookup: ‘sj.abbpt.com‘

报错解释&#xff1a; 错误表明Flutter应用程序在使用Dio库进行网络请求时&#xff0c;无法解析主机名’sj.abbpt.com’。这通常意味着设备无法通过DNS服务找到与该主机名相关联的IP地址。 解决方法&#xff1a; 检查主机名是否正确&#xff0c;没有拼写错误。 确认设备的网…

每日一练 | 华为认证真题练习Day209

1、关于BGP路由通告原则描述正确的是:&#xff08;多选&#xff09; A. BGP连接一建立&#xff0c;BGP Speaker将把自己所有BGP路由通告给新对等体。 B. BGP Speake会把自己所有的BGP路由通告给对等体。 C. 一般情况下&#xff0c;当存在多条路径时&#xff0c;BGP Speake只…

LeetCode 第四题:寻找两个正序数组的中位数 【4/1000 】【python + go】

​ &#x1f464;作者介绍&#xff1a;10年大厂数据\经营分析经验&#xff0c;现任大厂数据部门负责人。 会一些的技术&#xff1a;数据分析、算法、SQL、大数据相关、python 作者专栏每日更新&#xff1a; LeetCode解锁1000题:打怪升级之旅 python数据分析可视化:企业实战案例…

BioTech - AlphaFlow 项目 PyTorch Lightning + DeepSpeed 的分布式配置

欢迎关注我的CSDN:https://spike.blog.csdn.net/ 本文地址:https://blog.csdn.net/caroline_wendy/article/details/137348092 GitHub: https://github.com/bjing2016/alphaflow 步骤如下: 安装 DeepSpeed:需要安装 DeepSpeed。配置 Trainer:在 PyTorch Lightning 中,需要…