Nginx(1)

news2024/12/23 16:02:46

目录

  • 1.Nginx概述
  • 2.Nginx的特点
  • 3.Nginx主要功能
    • 1.反向代理
    • 2.负载均衡

1.Nginx概述

Nginx (engine x) 是一个自由的、开源的、高性能的HTTP服务器反向代理服务器,也是一个IMAP、POP3、SMTP代理服务器。

Nginx是一个强大的web服务器软件,用于处理高并发的HTTP请求和作为反向代理服务器做负载均衡。具有高性能轻量级内存消耗少,强大的负载均衡能力等优势。

作为一个 HTTP 服务器,Nginx 可以使用较少的内存非常高效可靠地提供静态资源。作为反向代理服务器做负载均衡,它可以动态分发客户端请求,充分利用后端服务器资源。

2.Nginx的特点

  • 跨平台:可以在大多数Unix like系统编译运行
  • 配置简单
  • 非阻塞,高并发连接:数据复制时,磁盘IO的第一阶段是非阻塞。官方测试能支持5万并发连接。
  • Nginx代理和后端Web服务器之间无需长连接
  • Nginx接受客户请求是异步的,即先将用户请求全部接收下来,再一次性发送到后端Web服务器,极大减轻后端Web服务器的压力。
  • 支持内置服务检测。Nginx能够根据应用服务器处理页面返回的状态码,超时信息检测服务是否出现故障,并及时返回错误的请求重新提交到其它节点上
  • 内存消耗小,成本低廉,节省带宽,稳定性高
  • Nginx支持热部署,几乎做到7*24小时不间断运行,运行数个月也不需要重新启动,还能够在不间断服务的情况下,对软件版本进行升级。

3.Nginx主要功能

1.反向代理

1.1反向代理: 是指代理服务器来接收Internet上的客户端请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给客户端。此时代理服务器对外就表现为一个反向代理服务器。
反向代理客户端不知道服务器的信息,隐藏了服务器的信息

1.2正向代理:是一个位于客户端和原始服务器之间的服务器,为了从原始服务器获得内容。客户端向代理发送一个请求并指定目标(原始服务器),然后代理向原始服务器转发并获得的内容返回给客户端
正向代理服务器不知道客户端的信息,隐藏了客户端的信息

2.负载均衡

Nginx负载均衡是以反向代理的方式进行负载均衡的,简而言之,就是当有两台或者以上服务器,根据规则随机的将请求分发到指定的服务器上处理,负载均衡配置一般都需要配置反向代理,通过反向代理跳转到负载均衡。
将原先请求集中到单个服务器上的情况改为将请求分发到多个服务器上,负载分发到不同的服务器,就是我们所说的负载均衡

Nginx中常见的的负载均衡方式

1.轮询(Nginx自带,默认)
该策略是Nginx默认的负载均衡策略,每一个客户端请求按时间顺序轮流分配到不同的服务器上,如果后端服务不可以用,会自动过滤掉。

2.weight权重(Nginx自带)
weight代表权重的意思,用于指定轮询的几率,默认权重都是1,可以手动设置调整,权重越高,被分配的次数越多,weight权重和访问比例是成正比的,用于解决后端服务器性能不均衡时,调整访问比例。

3.ip_hash(Nginx自带)
ip_hash是将每个请求按照访问ip的hash结果进行分配,这种方式可以保证同一个用户会固定访问一个后端服务器。优点:可以保证session会话,解决服务器之间session不能共享的问题

4.least_conn(Nginx自带)
将请求转发给连接数较少的后端服务器。每个后端服务器配置可能不同,处理的请求也有可能不同,对于处理的请求有快有慢,least_conn是根据后端服务器的连接情况,动态的选择连接数量较少的一台服务器来处理当前的请求。

5.fair(第三方)
fair是按照服务器端的响应时间来分配请求,响应时间短的服务器优先分配。第三方的负载均衡策略需要安装第三方的插件

6.url_hash(第三方)
url_hash是根据url的hash结果进行分配请求,每一个url会固定到同一个服务器上,配合缓存使用,可以减少不必要的下载和资源时间的浪费。每次同一个url请求到达同一个服务器上,第一次加载后放入缓存,后面再次请求,直接取缓存资源。如果不采用url_hash,可能会导致请求到达不同的服务器,资源出现重新加载的情况。第三方的负载均衡策略需要安装第三方的插件。

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

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

相关文章

【windows】windows上如何使用linux命令?

前言 windows上的bat命令感觉不方便,想在windows上使用linux命令。 有人提供了轮子,本文简单介绍一些该轮子的安装与使用,希望能够帮助到和我有一起需求的网友。 我的答案是busybox。 1.安装busybox.exe 在这个网站上安装busybox busyb…

---------------- 部署 Zookeeper 集群 ----------------

部署 Zookeeper 集群 1.安装前准备2.安装 Zookeeper修改配置文件在每个节点上创建数据目录和日志目录在每个节点的dataDir指定的目录下创建一个 myid 的文件配置 Zookeeper 启动脚本 //准备 3 台服务器做 Zookeeper 集群 192.168.109.1 192.168.109.2 192.168.109.3 1.安装前准…

前端学习---vue2--选项/数据--data-computed-watch-methods-props

写在前面: vue提供了很多数据相关的。 文章目录 data 动态绑定介绍使用使用数据 computed 计算属性介绍基础使用计算属性缓存 vs 方法完整使用 watch 监听属性介绍使用 methodspropspropsData data 动态绑定 介绍 简单的说就是进行双向绑定的区域。 vue实例的数…

Abaqus 中最常用的子程序有哪些 硕迪科技

在ABAQUS中,用户定义的子程序是一种重要的构件,可以将其插入到Abaqus分析中以增强该软件的功能和灵活性。这些子程序允许用户在分析过程中添加自定义材料模型、边界条件、初始化、加载等特定操作,以便更精准地模拟分析中的现象和现象。ABAQUS…

AirPods 充电接触不良问题修复

AirPods 充电接触不良问题修复 问题现象 从充电盒拿出耳机,一只耳机电量不满甚至完全没有电放入充电盒不充电,指示灯是绿色而非橙色多次尝试耳机能充电,但是合上盖子就无法充电 如果你的耳机出现上述症状,基本就是耳机充电接触…

一篇万能英语作文范文怎么写?聪明灵犀英语作文写作工具分享

一篇万能英语作文范文怎么写?英语作文是英语学习中不可或缺的一环,但是对于很多人来说,写作并不是一件容易的事情。本文将分享一些实用的英语作文写作工具,帮助你更好地写作。 1. 明确主题 写作之前,首先需要明确主题…

恒运资本:另类投资业务火热 券商“投行+”模式盛行

自科创板实行保荐组织跟投准则以来,各家券商纷繁开端树立特殊出资子公司以参加科创板项目的跟投,近期星展证券也取得经过树立子公司从事特殊出资事务的资历。到现在,至少有82家券商获批树立特殊出资子公司。 多位券商负责人表明,新…

python编程人工智能小例子,《人工智能python课程》

大家好,小编来为大家解答以下问题,python编程人工智能小例子,《人工智能python课程》,现在让我们一起来看看吧! python 怎么实现人工智能 一、Python是解释语言,程序写起来非常方便写程序方便对做机器学习的…

极客教程 scrapy和selenium

selenium 极客教程 使用python 调用scrapy的 爬虫Spider并且相互之间可以正常传参实现全局 常规情况创建,使用命令 scrapy genspider baidu "baidu.com"Python中Scrapy框架详解 浏览器调试模式下(F12 或 右键检查)Command sh…

ospf 案例

OSPF 基础案例 配置 S1 交换机 [S1]int LoopBack 0 [S1-LoopBack0]ip addr 1.1.1.1 32[S1]vlan batch 20 30 Info: This operation may take a few seconds. Please wait for a moment...done.[S1]int vlanif 20 [S1-Vlanif20]ip addr 192.168.20.1 24 [S1-Vlanif20]int vlani…

新版Android Studio模拟器浮动

(水一篇,但其实很多入门同学不知道) 安装新版Andorid Studio后会发现模拟器是内嵌在AS中的,如何让她浮动

创建型模式-单例模式

文章目录 一、创建型模式1. 单例设计模式1.1 单例模式的结构1.2 单例模式的实现(1)饿汉式-方式1(静态变量方式)(2)饿汉式-方式2(静态代码块方式)(3)懒汉式-方…

lammps拉伸初始应力不为零原因及解决办法

拉伸模拟是研究材料拉伸性能的常用方法。通常情况下,初始应力为零,以获得准确的应力-应变曲线。 然而,在某些情况下,模拟得到的初始应力大于零或者小于零。 (1)初始应力不为零的原因 根本原因是在拉伸前…

SpringBoot + Docker 实现一次构建到处运行~

一、容器化部署的好处 图片 Docker 作为一种新兴的虚拟化方式,它可以更高效的利用系统资源,不需要进行硬件虚拟以及运行完整操作系统等额外开销。 传统的虚拟机技术启动应用服务往往需要数分钟,而 Docker 容器应用,由于直接运行…

【Linux 网络】网络层协议之IP协议

IP协议 IP协议所处的位置网络层要解决的问题IP协议格式分片与组装网段划分特殊的IP地址IP地址的数量限制私网IP地址和公网IP地址路由 IP协议所处的位置 IP指网际互连协议,Internet Protocol的缩写,是TCP/IP体系中的网络层协议。 网络层要解决的问题 网络…

C++11 新特性 ---- 类成员的快速初始化

一、类成员的快速初始化 1.C98 标准的类成员初始化 ① 初始化类中的静态成员常量("就地声明")&#xff1a; 类声明 : 等号 加初始值 ② 初始化类中的非静态成员变量&#xff1a; 初始化 : 必须在构造函数中进行 #include <iostream> using namespace…

无涯教程-Perl - 格式化

Perl使用称为“formats”的模板来输出内容。要使用Perl的格式函数&#xff0c;必须先定义一种格式&#xff0c;然后才能使用该格式写入格式化的数据。 定义格式 以下是定义Perl格式的语法- format FormatName fieldline value_one, value_two, value_three fieldline value…

vue3中CompositionApi理解与使用

CompositionApi&#xff0c;组合式API&#xff0c;相当于react中hooks&#xff0c;函数式。 优势&#xff1a;1&#xff0c;增加了代码的复用性&#xff08;类似mixin&#xff0c;slot&#xff0c;高阶组件功能&#xff09; 2&#xff0c;代码可读性更好。可以将处理逻辑和视图…

75. 颜色分类

题目链接&#xff1a;力扣 解题思路&#xff1a;因为整个nums数组中只有0&#xff0c;1&#xff0c;2三个数组成。对nums升序排序后&#xff0c;0一定都在数组的最左边&#xff0c;2一定都在数组的最右边&#xff0c;1在数组的中间。那么只需要将0移动到数组的左边&#xff0c;…

西电-印刷电路板(PCB)设计指南0903完整版

PCB设计是以电路原理图为根据,实现电路设计者所需要的功能。 最近我找到一份西安电子科技大学的PCB设计指南的课件,课件内容非常夯实详尽: 分为通用电路篇和高速电路篇,包含了: PCB基础知识 PCB设计步骤和规范 电流路径分析、常见类型PCB设计 传输线与阻抗匹配、信号…