nginx:负载均衡

Nginx实战教程大神必经之路5:Nginx 负载均衡 1.1 什么是负载均衡   负载均衡建立在现有网络结构之上,它提供了一种廉价有效透明的方法扩展网络设备和服务器的带宽、增加吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性。负载均衡(Load Balance)其意思就是分摊到多个操作单元上进行执行。   我们在日常生活中经常免不了要去一些比较拥挤的地方,比如地铁站、火车站、电影院、银行等。无论是买票,还是排队入场,这些场所一般都会设置多个服务点或者入口的。如果没有人引导的话,大多数情况下,最近的入口会挤满人。而哪些距离较远的服务点或者入口就宽松很多。 阅读详情

目录

一、最基础负载均衡(轮询)

二、4 种常用负载均衡策略

1)权重轮询(性能不同机器用)

2)IP 哈希(同一个 IP 永远访问同一台

3)最少连接(least_conn)

4)URL 哈希(同一个接口 / 资源固定一台)

三、高可用配置(宕机自动剔除)


一、最基础负载均衡(轮询)

在 nginx.conf 的 http 块内 加一个 upstream,然后在 location 里 proxy_pass 指向它。

http {

    # 1. 定义负载均衡池(名字随便起,比如 backend_servers)
    upstream backend_servers {
        server 127.0.0.1:8080;  # 后端服务1
        server 127.0.0.1:8081;  # 后端服务2
        server 127.0.0.1:8082;  # 后端服务3
    }

    server {
        listen 80;
        server_name localhost;

        location /api/ {
            # 2. 代理到 upstream 名字
            proxy_pass http://backend_servers;

            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-Forwarded-Proto $scheme;
        }
    }
}

默认策略:轮询(round-robin)请求依次分给:8080 → 8081 → 8082 → 8080…

二、4 种常用负载均衡策略

1)权重轮询(性能不同机器用)
upstream backend_servers {
    server 127.0.0.1:8080 weight=3;  # 访问3次
    server 127.0.0.1:8081 weight=2;  # 访问2次
    server 127.0.0.1:8082 weight=1;  # 访问1次
}
    2)IP 哈希(同一个 IP 永远访问同一台

            适合:登录会话、Session 不共享

    upstream backend_servers {
        ip_hash;
        server 127.0.0.1:8080;
        server 127.0.0.1:8081;
    }
    3)最少连接(least_conn)

            分给连接数最少的机器

    upstream backend_servers {
        least_conn;
        server 127.0.0.1:8080;
        server 127.0.0.1:8081;
    }
    4)URL 哈希(同一个接口 / 资源固定一台)
    upstream backend_servers {
        hash $request_uri;
        server 127.0.0.1:8080;
        server 127.0.0.1:8081;
    }

    三、高可用配置(宕机自动剔除)

    加上 max_fails、fail_timeout,机器挂了自动踢走,恢复后自动加回:

    upstream backend_servers {
        server 127.0.0.1:8080 max_fails=3 fail_timeout=30s;
        server 127.0.0.1:8081 max_fails=3 fail_timeout=30s;
        server 127.0.0.1:8082 backup;  # 备用机,其他全挂才启用
    }

    参考文献:豆包

    elasticsearch-6.5.4集群部署(图文详细)及常见错误 目录 服务器规划 部署包下载 服务器初始化(所有节点都要操作) 内核参数修改 /etc/security/limits.conf修改 /etc/sysctl.conf文件修改 禁用selinux 关闭防火墙 创建es用户 安装jdk es部署 单节点(节点1)部署 部署包上传解压 配置文件修改 修改文件属组 部署包分发 单节点(节点2)部署 配置文件修改 修改文件属组 单节点(节点3)部署 配置文件修改 修改文件属组 启动ES集群 验证 单节点验证 查看集 阅读详情

    相关推荐

    零基础学习大气污染模式(WRF、WRF-chem、smoke、camx等)

    零基础学习大气污染模式(WRF、WRF-chem、smoke、camx等)

    weixin_56135535的博客 652

    nginx之路(四):nginx的负载均衡

    文章目录准备修改nginx的配置文件开放端口修改tomcat端口策略配置1.轮询(默认)2.weight权重3.ip_hash4.least_conn最少连接测试 准备 1.准备两台 tomcat 服务器,一台 8080,一台 8081 2.在两台 tomcat 里面 webapps 目录中,创建名称是 html 文件夹,在 html 文件夹中创建页面 a.html,用于测试,a.html分别填入8080和8081代表两个tomcat服务 修改nginx的配置文件 修改nginx.conf文件添加下面内容

    simon-_-的博客 478

    MATLAB/Simulink实战:三电平逆变器SVPWM调制从入门到精通(附完整仿真模型)

    本文提供了一份详尽的MATLAB/Simulink实战指南,手把手教你从零搭建三电平逆变器的SVPWM调制系统。文章深入剖析了27个空间矢量的分区与分解算法,并完整实现了包含中点电位平衡控制的Simulink仿真模型,旨在帮助电力电子与电机控制领域的学习者和工程师跨越从理论到实践的鸿沟。

    sugar的博客 1211

    Nginx学习4:负载均衡实例

    Nginx配置实例-负载均衡 目标 在浏览器地址栏输入地址 http://192.168.126.131:8080/edu/a.html,负载均衡效果,平均分配到 8080 和 8081 端口中 准备工作 (1)准备两台 tomcat 服务器,一台 8080,一台 8081 (2)在两台 tomcat 里面 webapps 目录中,创建名称是 edu 文件夹,在 edu 文件夹中创建页面 a.html,用于测试 具体配置 在 nginx 的配置文件中进行负载均衡的配置 最终结果 我们可以看到,随着不

    小关同学的博客 1392

    【AI助力科研】不看一篇文献,手把手教你用chatGPT写文献综述!

    这篇文章以【AI助力科研】为题,介绍了如何利用ChatGPT编写文献综述的方法。作者通过详细的指导,展示了不需要阅读大量文献,只需依靠ChatGPT模型即可完成文献综述的过程。该方法旨在提高科研工作者的效率,减少阅读负担,并且能够生成具有逻辑性和准确性的文献综述。

    研究方向//图像视频处理/信号算法/红外无损检测/数值仿真/机器学习/优化算法/python/matlab 2万+

    AI智能体丨使用Coze生成自媒体短视频分镜生成器(附保姆级教程)

    【短视频分镜脚本生成器】是一款由Coze平台开发出来的智能体,可快速解析某音/某书视频或本地文件,自动生成专业分镜脚本。用户只需输入视频链接或上传文件,系统即会分析镜头节奏、叙事逻辑和画面内容,输出包含画面、模板和话术参考的标准化脚本(支持3分钟内视频)。该工具还能生成HTML网页和可下载图片,提供可视化呈现。工作流程包括视频解析、帧提取、AI画面理解、脚本生成和网页制作,大幅提升短视频创作效率。

    李同学Lino的博客 1532

    nginx(4):nginx负载均衡

    一、实现功能 Nginx实现负载均衡配置过程。 二、分配服务器策略 1.第一种 轮询(默认) 每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器 down 掉,能自动剔除。 2.第二种 weight weight 代表权重默认为 1,权重越高被分配的客户端越多 3.第三种 ip_hash 每个请求按访问 ip 的 hash 结果分配,这样每个访客固定访问一个后端服务器 ...

    小蚯蚓的博客 291

    智驾芯片新天团!NVIDIA Thor vs 高通8797 vs 蔚来神玑NX9031,2025-2026谁能称王?

    应用场景推荐芯片理由高阶NOA + L4 Robotaxi千TOPS以上,满足BEV+TransformerL2+/L3级别NOAThor-U / 高通8797算力适中,功耗控制佳,生态成熟经济型城市NOAThor-Z / S性价比均衡,适合前装普及自研平台一体化NX9031华为之外最强自研整合方案📌 TOPS不再是天花板,GPU、带宽、功耗、上市时间和车企绑定都是决胜关键📌 Thor系列仍然统治高端,但国产神经元开始觉醒📌 智驾芯片的选择,从“强”走向“适合场景”

    weixin_43199439的博客 2635

    nginx应用:使用nginx进行负载均衡

    nginx一般可以用于七层的负载均衡,这篇文章将简单介绍一些负载均衡的基本知识以及使用nginx进行负载均衡的简单的例子。 四层负载均衡 vs 七层负载均衡 经常会说七层负载均衡还是四层负载均衡,其实根据ISO的OSI网络模型的所在层的叫法而决定的,nginx因为在使用http协议在应用层进行负载均衡的操作,所以被称为七层负载均衡。而诸如LVS在TCP层进行负载均衡操作的则被称为四层负载均...

    知行合一 止于至善 5344

    【SpringBoot】1、创建第一个SpringBoot项目

    创建SpringBoot项目可以通过两种方式,1、通过访问:https://start.spring.io/,SpringBoot的官方网站进行创建SpringBoot项目;2、通过工具(例如:Idea)创建SpringBoot项目。本次使用开发工具:Idea创建我的第一个SpringBoot项目。 首先,打开我们的Idea开发工具 选择Create New Poject(创建一个新的项目) ...

    JACKAL 21万+

    C++ Qt6 QtQuick/QML入门进阶与项目实战视频教程

    C++ Qt这些年在PC客户端、嵌入式、汽车座舱仪表等领域应用很广泛,例如剪映专业版、微信4.0、亿图脑图、Steam、美图秀秀、腾讯会议、钉钉(部分模块)等都是使用C++ QWidget/QML开发。特别是QML这种声明式UI开发更加快捷,QML的界面开发效率相对于QWidget更快速,界面效果更好,QtQuick/QML在Qt6版本也逐渐完善了,使用QML进行客户端开发是个不错的选择。

    琅嬛福地 4481

    Nginx-4 配置:负载均衡

    Nginx默认提供了3种负载均衡策略:轮询、权重、ip_hash

    阿呆 297

    Modbus RTU 详解 + FreeMODBUS移植(附项目源码)

    本文全面解析Modbus RTU通信协议,详细介绍其报文格式、功能码定义及典型应用场景,并手把手指导如何将FreeMODBUS协议栈移植到嵌入式平台。内容涵盖从底层硬件驱动配置、协议栈移植到主机/从机通信测试的全流程,重点讲解移植过程中的常见问题及解决方案。文章最后提供经过实测的完整项目源码,帮助开发者快速实现稳定的Modbus RTU通信功能。

    Bit_Dong的博客 2926

    Nginx学习笔记(三):Nginx之负载均衡

    一、负载均衡介绍 1、负载均衡简单介绍 LB(Load Balance,负载均衡)是一种集群技术,它建立在现有网络结构之上,提供了一种廉价有效透明的方法去扩展现有的网络设备和服务器的带宽,增加吞吐量,加强网络数据处理能力,提高网络的灵活性和可用性 负载均衡将来自实际运行服务的物理服务器中的“服务”(用户访问站点)进行虚拟化处理,在大量物理服务器之间实现负载均衡,并使这些服务器对外界看起来犹如一个大服务器,为用户提供高可用性、高扩展性、可预测的应用服务。 2、Nginx的分配策略 (1)轮询

    weixin_47382783的博客 469

    IMSL CNL 7.0.0 (x86-64)Crack

    IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

    STM32F407中文手册

    STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

    nginx教程:Nginx负载均衡

    所谓的负载均衡简单说就是将一台服务原来承受的压力由多台服务器来分配,可以在nginx中实现tomcat集群,通过weight来分配权重。

    学亮编程手记 267

    jdk-8u144-linux-x64.tar.gz.

    该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

    NGINX关键特性解析:负载均衡

    负载均衡是NGINX的一个关键特性,可以提高系统的吞吐量、稳定性和可扩展性。NGINX支持多种负载均衡算法,可以根据实际场景进行选择和配置。在实践中,我们应该根据实际需求进行合理的负载均衡配置和调整,以提高系统的性能和可用性。

    商务合作|种草文章|产品测评 2522

    负载均衡:SLB+nginx搭配,以及nginx

    转自:https://juejin.im/entry/56fc91f8128fe1005942872b 仅作个人备份,浏览请看原文 用了阿里云负载均衡(SLB),nginx做什么用? SLB的主要作用的是负载均衡,同样nginx也可以做。如果只是单纯考虑负载均衡,阿里云的SLB优越性更高。 但nginx可以做的更多,如反向代理、HTTP服务器,灵活性更高。同时用了nginx和SLB,除了反向代理,nginx还承担了一个静态站点的HTTP服务。 ...

    仅做个人笔记 2万+

    nginx:Nginx负载均衡原理

    现代部署原则使用Nginx 1.19+版本支持动态reload开启reuseport提高多核利用率合理设置worker_processes(建议等于CPU核心数)配置检查清单http {least_conn;server {架构设计准则实施分层负载均衡建立完善的健康检查机制实现动态权重调整设计优雅的降级策略Nginx负载均衡的优化需要从协议栈、算法实现、系统架构到监控体系进行全方位考量。

    weixin_43290370的博客 1103

    Nginx系列篇二:linux搭建Nginx负载均衡

    建议先搭建好Nginx环境 可阅读--->Linux中搭建Nginx 1、准备好三台服务器[标配] 一、nginx负载均衡服务器:192.168.102.110,配置好Nginx 二、tomcat1服务器:192.168.102.111,配置好Tomcat 三、tomcat2服务器:192.168.102.112,配置好Tomcat 2、...

    weixin_30598225的博客 177

    Nginx系列四:Nginx负载均衡

    Nginx系列四:Nginx负载均衡

    wester的博客 6797

    Nginx 实战:Nginx七层负载均衡

    在Nginx实战中,七层负载均衡是指Nginx作为HTTP应用层的负载均衡器,根据HTTP请求的内容(如URL、Host头等)将请求分配给后端服务器群集。

    qq_33240556的博客 389

    Nginx系列:负载均衡

    及阅读文本大概需要3分钟。0x01:负载均衡 Nginx的负载均衡使用upstream定义服务器组,后面跟着组名,组名后面是大括号包起来的服务器列表,每个服务器使用server...

    天行健,君子以自强不息;地势坤,君子以厚德载物。 349

    Nginx:如何使用nginx配置负载均衡

    负载均衡 负载均衡是扩展应用程序并提高其性能和冗余的绝佳方法。 Nginx是一种流行的Web服务器软件,可以配置为简单但功能强大的负载均衡器,以提高服务器资源的可用性和效率。在负载 均衡配置中,nginx充当在多个单独服务器上工作的分布式Web应用程序的单个入口点。 负载均衡方法 如果没有定义其他方法,默认情况下nginx负载均衡会使用循环算法,如上面的第一个示例所示。使用循环方案,将根据您在load-balancer.conf文件中设置的顺序轮流选择每个服务器。这平衡了短期操作的请求数量。..

    Yummy的博客 1003

    nginx 简单实践:负载均衡【nginx 实践系列之四】

    本文为 nginx 简单实践系列文章之三,主要简单实践了负载均衡,仅供参考。注意:可以使用测试域名,但前提是要修改 hosts 文件路径和重启:Linux(/etc/hosts)(重启命令:/etc/init.d/network restart);例如:192.168.1.1 www.testczzj.com负载均衡(Load Balance,简称 LB)是高并发、高可用系统必不可少的关键组件,目标是尽力将网络流量平均分发到多个服务器上,以提高系统整体的响应速度和可用性。负载均衡通过算法调整负载,

    sdgfafg_25的博客 1513

    Nginx: 负载均衡

    一丶什么是负载均衡 负载均衡概念由一个典型的例子提出: 双十一期间,用户对淘宝京东的请求量异常的大,单个服务器肯定承受不了,必定会宕机,这时候服务器集群的概念产生了,单个服务器解决不了,可以增加服务器的数量,然后将请求分发到各个服务器上,将原先的大量请求平均分配到各个服务器上,也就是将负载分到不同的服务器,这样服务器压力就减少了很多,这就是负载均衡,Nginx就是通过负载均衡这种技术把请求分配到不同的服务器中处理的。 二丶负载均衡使用到的的策略 1. 轮询(Nginx默认的一种策略):每个请求按时间.

    m0_55435847的博客 232

    Nginx系列:Nginx 负载均衡的几种方式!

    Nginx系列:Nginx 负载均衡的几种方式! 前言 今天博主将为大家分享:Nginx系列:Nginx 负载均衡的几种方式!不喜勿喷,如有异议欢迎讨论!在阅读这篇之前可以去看博主的windows10系统下安装nginx的安装并配置! 学习安装配置nginx Nginx的upstream目前支持的分配简单描述 1. 轮询(默认) 每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器do...

    Mr_chen的博客 3101

    nginx负载均衡一:基础知识

    基础信息 nginx 的 upstream目前支持 4 种方式的分配 1)、轮询(默认)   每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。 2)、weight   指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况。 2)、ip_hash   每个请求按访问ip的hash结果分配,这样每个访客固定访问一个...

    weixin_30662011的博客 88
    上一篇: nginx:代理转发配置
    下一篇: nginx:前后端分离常用配置
    博风
    博客等级 码龄16年 442粉丝 357原创
    评论
    成就一亿技术人!
    拼手气红包6.0元
    还能输入1000个字符
     
     条评论被折叠 查看
    添加红包

    请填写红包祝福语或标题

    个

    红包个数最小为10个

    元

    红包金额最低5元

    当前余额3.43元 前往充值 >
    需支付:10.00元
    成就一亿技术人!
    领取后你会自动成为博主和红包主的粉丝 规则
    hope_wisdom
    发出的红包
    实付元
    使用余额支付
    点击重新获取
    扫码支付
    钱包余额 0

    抵扣说明:

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

    余额充值