NGINX相关的知识点

全面整理Nginx知识点 至此,Nginx的大部分内容都已阐述完毕,关于最后一小节的性能优化内容,其实在前面就谈到的动静分离、分配缓冲区、资源缓存、防盗链、资源压缩等内容,也都可归纳为性能优化的方案。httpshttpshttpshttpshttpshttpshttpshttpshttpshttpshttpshttpshttpshttpshttpshttpshttps。... 阅读详情

NGINX 是一个高性能的 HTTP 和反向代理服务器,广泛用于负载均衡、反向代理、缓存等场景。以下是关于 NGINX 负载均衡相关的知识点:

1. 负载均衡的基本概念

  • 负载均衡:将客户端请求分发到多个后端服务器上,以提高系统的可用性、可靠性和性能。
  • 反向代理:NGINX 作为反向代理服务器,接收客户端请求并将其转发给后端服务器,后端服务器处理完请求后再通过 NGINX 返回给客户端。

2. 负载均衡的工作模式

NGINX 支持多种负载均衡策略,常用的有以下几种:

  • 轮询(Round Robin):默认的负载均衡策略,按照顺序依次将请求分配给后端服务器。

    upstream backend {
        server 192.168.1.101;
        server 192.168.1.102;
    }
    
  • 加权轮询(Weighted Round Robin):可以根据服务器的性能为每个服务器分配不同的权重,权重越高,分配的请求越多。

    upstream backend {
        server 192.168.1.101 weight=3;
        server 192.168.1.102 weight=1;
    }
    
  • IP 哈希(IP Hash):根据客户端的 IP 地址进行哈希运算,确保同一个客户端的请求总是被分配到同一台后端服务器。这种方式可以实现会话保持(Session Persistence)。

    upstream backend {
        ip_hash;
        server 192.168.1.101;
        server 192.168.1.102;
    }
    
  • 最少连接(Least Connections):将请求分配给当前连接数最少的服务器,适用于处理时间较长的请求。

    upstream backend {
        least_conn;
        server 192.168.1.101;
        server 192.168.1.102;
    }
    

3. 健康检查

NGINX 可以通过被动健康检查来检测后端服务器的状态。如果某个服务器返回错误或超时,NGINX 会暂时停止向该服务器发送请求,直到它恢复正常。

  • max_fails:定义在指定时间内允许的最大失败次数,默认是 1 次。
  • fail_timeout:定义失败的时间窗口和暂停服务的时间,默认是 10 秒。
    upstream backend {
        server 192.168.1.101 max_fails=3 fail_timeout=30s;
        server 192.168.1.102 max_fails=3 fail_timeout=30s;
    }
    

4. 会话保持(Session Persistence)

在某些场景下,客户端的请求需要始终路由到同一台后端服务器,例如用户登录后的会话信息存储在某台服务器上。可以通过以下方式实现会话保持:

  • IP Hash:如前所述,基于客户端 IP 地址的哈希值来实现会话保持。
  • Cookie:通过设置 Cookie 来实现会话保持,NGINX Plus 提供了更高级的会话保持功能。

5. SSL/TLS 终止

NGINX 可以作为 SSL/TLS 终止点,负责解密 HTTPS 请求并将解密后的请求转发给后端服务器。这样可以减轻后端服务器的加密/解密负担。

server {
    listen 443 ssl;
    ssl_certificate /path/to/certificate.crt;
    ssl_certificate_key /path/to/private.key;

    location / {
        proxy_pass http://backend;
    }
}

6. 缓存

NGINX 可以缓存后端服务器的响应,减少对后端服务器的压力,提高响应速度。

proxy_cache_path /data/nginx/cache levels=1:2 keys_zone=my_cache:10m max_size=10g inactive=60m use_temp_path=off;

server {
    location / {
        proxy_cache my_cache;
        proxy_pass http://backend;
    }
}

7. 限流

NGINX 可以通过限流机制来控制请求速率,防止后端服务器过载。

limit_req_zone $binary_remote_addr zone=mylimit:10m rate=10r/s;

server {
    location / {
        limit_req zone=mylimit burst=20 nodelay;
        proxy_pass http://backend;
    }
}

8. 高可用性

NGINX 本身可以通过主备模式或集群模式实现高可用性。常见的方案包括:

  • Keepalived:通过 VRRP 协议实现 NGINX 的主备切换。
  • DNS 轮询:通过 DNS 轮询的方式实现多台 NGINX 实例的负载均衡。

9. 日志与监控

  • 访问日志:记录每个请求的详细信息,便于分析和排查问题。
    access_log /var/log/nginx/access.log;
    
  • 错误日志:记录 NGINX 运行过程中出现的错误信息。
    error_log /var/log/nginx/error.log;
    
  • 监控工具:可以使用 Prometheus、Grafana 等工具对 NGINX 的性能进行监控。

10. 动态配置

NGINX Plus 提供了动态配置的功能,支持通过 API 动态添加、删除或修改后端服务器,而无需重启 NGINX 服务。

11. WebSocket 支持

NGINX 支持 WebSocket 协议的负载均衡,可以通过 proxy_http_version 和 proxy_set_header 配置来支持 WebSocket。

location /ws/ {
    proxy_pass http://backend;
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "Upgrade";
}

12. HTTP/2 支持

NGINX 支持 HTTP/2 协议,能够提高页面加载速度,特别是在传输大量小文件时。

server {
    listen 443 ssl http2;
    ssl_certificate /path/to/certificate.crt;
    ssl_certificate_key /path/to/private.key;

    location / {
        proxy_pass http://backend;
    }
}

总结

NGINX 的负载均衡功能非常强大,支持多种负载均衡策略、健康检查、会话保持、SSL/TLS 终止等功能。通过合理配置,可以显著提高系统的性能和可靠性。

Modem2G/3G/4G/5G:RFFE Driver(射频前端驱动):高通平台GRFC配置方法 文 | GentlemanTsao 文章目录前言1.什么是GRFC2.GRFC的配置流程概览3.msm_sig_info的配置与分析msm_sig_info Table位置:msm_sig_info Table示例:Table元素解读:rfc_msm_sig_info_type结构体signal typemsm_gpio |grfc_num:GPIO到GRFC的映射output_typefunction_select4._sig_cfg的配置与分析_sig_cfg table位置:_sig_cfg tabl 阅读详情

相关推荐

DOSBOX 0.74模拟器安装Windows 95

DosBox本身带有5.0版的DOS系统,启动后虚拟一个Z盘存放有Dosbox特有的外部指令,如config.com、imgmount.com等,经测试,可以顺利安装各版本的windows 3.1系统,但是不能安装win95,需要用原版的dos镜像启动才能安装。1. 获取启动盘镜像文件 下载Win95启动软盘镜像文件,名为boot.img,放到DosBox 0.74的目录下。2. 制作硬盘镜像文件

xjnzhidao的博客 9310

nginx相关知识点

1、nginx -V 可以查看nginx的安装目录等目录信息 2、nginx -v 查看版本 3、路径 /usr/local/etc/nginx/nginx.conf (配置文件路径) /usr/local/var/www (服务器默认路径) /usr/local/Cellar/nginx/1.13.10 (安装路径) 4、进入安装路径 cd/usr/local/Cellar...

weixin_30819163的博客 153

记录思科cisco交换机升级iso步骤

Cisco Nexus 93180交换机版本升级

a635161812的博客 4377

Nginx相关的知识点

Nginx相关的知识点

weixin_42803658的博客 421

告别Failed to start错误!保姆级教程:用Ubuntu20.04安装盘搞定GRUB与系统服务修复

本文提供Ubuntu20.04系统启动失败的专业修复指南,详细讲解如何利用安装盘解决GRUB与系统服务问题,避免重装系统导致的数据丢失。涵盖分区挂载、chroot环境操作、服务诊断与修复等实用技巧,帮助用户高效恢复系统正常运行。

weixin_32578161的博客 331

从EXIF到测绘:解码大疆影像元数据的实战应用指南

本文深入解析了大疆无人机影像元数据的实战价值,重点阐述了如何利用EXIF和XMP中的GPS、RTK、姿态角及相机内参等关键信息,提升测绘、三维重建及精准农业等项目的成果精度与效率。通过自动化质检脚本与行业应用场景剖析,指导从业者将元数据从信息转化为生产力,实现从拍照到专业测绘的跨越。

dell8的博客 526

Nginx相关知识点

Nginx 相关知识 server_name:表示监听到之后需要转到哪里去,这时我们直接转到本地,这时是直接到nginx文件夹内。 listen:表示当前的代理服务器监听的端口,默认的是监听80端口。注意,如果我们配置了多个server,这个listen要配置不一样,不然就不能确定转到哪里去了。 proxy_pass,它表示代理路径,相当于转发,而不像之前说的root必须指定一个文件夹。 ngin...

whsAf007的博客 293

IKM 测试题 - Java SE 8 评估测试题目

IKM 测试题 - Java SE 8 评估测试题目

licheng11y的博客 1314

分享 40 个与 Nginx 相关的知识点

来自:优快云,作者:夏目 "链接:https://blog.youkuaiyun.com/wuzhiwei549/article/details/122758937什么是Nginx?Nginx 有哪些优点?Nginx应用场景?Nginx怎么处理请求的?Nginx 是如何实现高并发的?什么是正向代理?什么是反向代理?反向代理服务器的优点是什么?Nginx目录结构有哪些?Nginx配置文件nginx.conf有...

前端达人 242

华为OD机考双机位C卷 - 文件存储系统的排序(Java & Python & JS & GO & C++ & C)

华为OD机考双机位C卷 - 文件存储系统的排序, 提供Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解,以及在线OJ模拟做题。

算法大师! 780

AUTOSAR进阶图解==>AUTOSAR_SWS_ADCDriver

本文深入解析了AUTOSAR ADC Driver的架构设计和技术实现。主要内容包括:1)ADC Driver在AUTOSAR分层架构中的定位及核心功能;2)详细的模块架构设计,涵盖初始化管理、组转换管理、优先级处理等核心子组件;3)全面的配置模型说明,包括主配置类、通用配置、通道配置等关键数据结构;4)状态机机制和操作序列分析。通过分层设计和标准化接口,ADC Driver实现了硬件抽象和软件解耦,提供了良好的可移植性和可维护性。

一名留德华的,康德的信徒的,专注于汽车电子领域的博客 786

nginx 相关知识点

1、什么是 nginx     nginx是一个轻量级的网页服务器、反向代理服务器以及电子邮件服务器。它是一款面向性能设计的HTTP服务器,相对于 apache 占用内存少、稳定性高。 2、查看 nginx 状态     service nginx status 3、启动 nginx 命令     service nginx restart - 重新启动      se

u011984172的专栏 399

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

Nginx - keepliave 相关知识点

目录 - 1. 前言- 2. keepalive 介绍- 3. Nginx 与 keepalive 的关系- 3.1 Nginx - keepalive_timeout- 3.2 Nginx - keepalive_requests- 3.3 Nginx - upstream - keepalive 1. 前言 在 nginx中,有三处配置会涉及到 keepal...

weixin_30378623的博客 374

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

Nginx 的简单端口转发和跨域相关的知识点

跨域是指在浏览器中,一个网页向不同源(协议、域名或端口不同)的服务器发出请求。这种请求被称为“跨域请求”。不同的域名请求不同的端口请求不同的协议请求。

JBnoJB的博客 786

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

学Python运维,这知识点你肯定会遇到,【必收藏之】nginx 域名跳转相关配置

📢📢📢📢📢📢 哈喽!大家好,我是 【梦想橡皮擦】,10 年产研经验,致力于 Python 相关技术栈传播 💗 🌻 本文如果觉得不错,动动小手点个赞赞吧 👍 🌻 本文如果发现错误,欢迎在评论区中指正哦 💗 👍 技术博客日更者,我喜欢写文章,如果任意一篇文章对你有帮助,就挺好的~ 👍 📣📣📣📣📣📣 欢迎大家订阅专栏 ⭐️ ⭐️ 《Python 爬虫 120》⭐️ ⭐️ 📆 最近更新:2022 年 3 月 31 日,橡皮擦的第 605 篇原创博客 文章目录⛳️ 实战场景⛳️ 需求一:访问不同地址,实现不同的.

梦想橡皮擦,专栏100例写作模式先行者,现象级专栏 《Python 爬虫 100 例》作者、《滚雪球学 Python 专栏》原创者 1万+

E-go加速器相关知识点-----nginx部署

作为开发人员,没有学习精神就意味着会被淘汰。没有学习的利器也很难做到真正去学习。 前段时间辞职后,自学了红帽的初中级的linux,还没去考证!然后发现我学完后没有太多实操依旧是忘的快,昨天排查下nginx的问题,感觉都生疏了! C#还在坚持,以前觉得WPF好low,在找工作过程中,主要是面试的大部分是医疗结构,是BS,需要窗体开发。然后才意识到WPF也是很厉害的。为此我还特意买了朝夕教育的SVIP,感觉学得东西实在是太多了,还要准备5月29号的高项目考试。说不累是假的,但是很充实!年前回家后把基础的wpf学

u014177484的博客 3638

面试知识点梳理及相关面试题(十三)-- nginx

Nginx (“engine x”) 是一个轻量级、高性能的 HTTP 和 反向代理服务器,特点是占有内存少,并发能力强,能经受高负载的考验,有报告表明能支持高达 50,000 个并发连接数。所谓c10k问题,指的是:服务器如何支持10k个并发连接,也就是concurrent 10000 connection(这也是c10k这个名字的由来), C10K问题是指无法同时处理大量客户端(10,000)的网络套接字。C10k问题简述_爱思考的实践者的博客-优快云博客_c10k问题。

weixin_39724194的博客 9

微服务实现高可用、redis高性能、nginx高并发,相关知识点

nginx:解决并发问题: 一台服务器可以同一有246060*200=1728万个用户 布置多个Tomcat,所有请求使用nginx; 一台笔记本基本上能抗住250左右的人数同时进入服务器 ngnix作用: 一台服务器坏了,其他服务器还可用,但是每一台服务器所有的功能模块是相同的。请求方式是通过集群去请求的。 解决高并发 (高可用)一台服务器在一个月的时间内99.99%可使用 压力测试使用步骤: 第一步添加线程组、http请求、查看结果树、聚合报告 一秒发送3000个请求: 运行并保存: 修改端

lzx2953763519的博客 582

nginx 知识点列表

nginx 知识点列表 nginx 基本概念和功能 nignx SSL 管理

blue0bird的专栏 691

nginx相关-nginx启动、nginx关闭、nginx地址重定向

nginx启动、nginx关闭、nginx地址重定向

misschengispink的博客 823

云盘项目——Nginx

在学习云盘项目总结了笔记,并分享出来。有问题请及时联系博主:Alliswell_WP,转载请注明出处。 12-云盘项目- 03天 Nginx 一、学习目标 二、复习 1、redis命令复习2、redis的配置文件 三、Nginx 1、nginx介绍 在Firefox某个网页按“F12”可查看这些浏览器server对应的是否为Nginx?如:www.163.com ...

Alliswell_WP 422
上一篇: Spring:Spring实现AOP的通俗理解(有源码跟踪)
下一篇: 分布式事务
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

贝多芬也爱敲代码

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值