0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何使用Nginx作为应用程序的负载均衡器?

深圳市恒讯科技有限公司 来源:恒讯科技 作者:恒讯科技 2023-03-23 14:52 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

Nginx因其高性能和可扩展性而广受欢迎。它是排名第一的开源Web 服务器。在本教程中,我们将学习如何使用Nginx作为应用程序的负载均衡器?

要将nginx负载平衡配置为先决条件,我们需要至少有两台主机安装并配置了Web服务器软件,才能看到使用nginx进行负载平衡的优势。如果我们已经设置了一个正在运行的Web主机,则通过创建自定义图像复制它并将其部署到新的Web服务器上。下面是使用Nginx作为应用程序的负载均衡器分步指南:

一、Nginx网络服务器
Nginx是一种高性能的开源Web服务器。除了HTTP服务器功能外,NGINX 还可以充当电子邮件(IMAP、POP3 和 SMTP)的代理服务器和反向代理,并为 HTTP、TCP 和 UDP 服务器负载均衡nginx。它提高了应用程序的性能、可靠性和安全性。它以其丰富的功能集、简单的配置和低资源消耗而广受欢迎。
Nginx是如何工作的?Nginx通常用作nginx反向代理负载平衡器,作为在多个独立服务器上工作的分布式Web应用程序的单一入口点。它使用异步、事件驱动的方法来提供低内存使用率和高并发性。

二、负载均衡器
负载平衡是在多个服务器之间分配网络流量的过程。执行此分发过程的“软件”或“硬件”称为负载均衡器。负载均衡器就像站在服务器前面的“交通警察”,并在所有服务器之间路由客户端请求。它确保即使其中一台服务器出现故障,我们的应用程序仍能正常运行。
负载均衡器的主要功能如下:
1、跨多个服务器有效地分配客户端请求或网络负载;
2、通过仅向在线服务器发送请求来确保高可用性和可靠性;
3、提供根据需求添加或减少服务器的灵活性。

三、将Nginx设置为负载均衡器
在设置Nginx轮询负载平衡之前,我们应该在服务器上安装Nginx。我们可以使用apt-get快速安装它:sudo apt-get install nginx
为了设置循环负载均衡器,我们需要使用Nginx上游模块。我们会将 nginx负载均衡器配置更新到Nginx设置中。让我们打开我们网站的配置。为了这个例子,使用默认的配置文件
sudo vi /etc/nginx/sites-available/default
我们需要将负载均衡配置添加到文件中,以使用nginx配置负载均衡器。
首先,我们需要包含用于nginx上游负载平衡的上游模块,如下所示:
upstream backend {
server backend1.example.com;
server backend2.example.com;
server backend3.example.com;
}
使用此后端上游作为服务器块中的代理端点:
server {
location / {
proxy_pass http://backend;
}
}
重启Nginx
sudo service nginx restart
只要所有服务器就位,我们现在应该会发现nginx开源负载均衡器将开始将访问者平均分配到服务器,这种平均分配称为循环负载平衡。

四、上游指令
在我们的最后一个例子中,我们使用了一个简单的上游模块来进行循环负载平衡,以在服务器之间平均分配流量。然而,这可能不是处理流量的最有效方式的原因有很多。我们可以使用多种指令来更有效地引导网站访问者。
1、重量
开始更精确地将用户分配给服务器的一种方法是为某些机器分配特定的权重。Nginx允许我们分配一个数字,指定应定向到每个服务器的流量比例。包含服务器权重的负载平衡设置可能如下所示:
upstream backend {
server backend1.example.com weight=1;
server backend2.example.com weight=2;
server backend3.example.com weight=4;
}
默认权重为1。权重为2时,backend2.example将发送两倍于backend1 的流量,而权重为4的backend3将处理两倍于backend2和四倍于 backend的流量1.
2、散列
IP哈希允许服务器根据他们的IP地址响应客户端,每次访问时将访问者发送回同一个VPS(除非该服务器已关闭)。如果已知服务器处于非活动状态,则应将其标记为关闭。所有应该路由到故障服务器的 IP都被定向到备用服务器。下面的配置提供了一个示例:
upstream backend {
ip_hash;
server backend1.example.com;
server backend2.example.com;
server backend3.example.com down;
}
3、最大失败
根据默认的循环设置,Nginx应用程序负载均衡器将继续向虚拟专用服务器发送数据,即使服务器没有响应。Max failure可以通过使无响应的服务器在一定时间内无法运行来自动防止这种情况发生。
有两个因素与最大失败有关:max_fails和fall_timeout。最大失败次数是指在服务器被视为不活动之前应该发生的连接到服务器的最大失败尝试次数。Fall_timeout指定服务器被视为不工作的时间长度。一旦时间到期,新的到达服务器的尝试将再次启动,默认超时值为10秒。示例配置可能如下所示:
upstream backend {
server backend1.example.com max_fails=3 fail_timeout=15s;
server backend2.example.com weight=2;
server backend3.example.com weight=4;
}

以上是使用Nginx作为应用程序的负载均衡器四个步骤,希望能帮助到大家!

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • nginx
    +关注

    关注

    0

    文章

    180

    浏览量

    12968
  • 负载均衡器
    +关注

    关注

    0

    文章

    20

    浏览量

    2702
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    深入解析DS15EA101:0.15 - 1.5 Gbps自适应电缆均衡器

    深入解析DS15EA101:0.15 - 1.5 Gbps自适应电缆均衡器 引言 在当今高速数据传输的时代,电缆传输过程中的信号衰减和失真问题一直是工程师们面临的挑战。德州仪器(TI
    的头像 发表于 11-27 10:04 638次阅读
    深入解析DS15EA101:0.15 - 1.5 Gbps自适应电缆<b class='flag-5'>均衡器</b>

    Nginx负载均衡策略选择指南

    上个月,我们的电商系统在大促期间突然出现用户购物车数据丢失的问题。经过排查发现,罪魁祸首竟然是负载均衡策略配置不当!
    的头像 发表于 08-20 16:23 587次阅读

    Texas Instruments LMH12x9 12G SDI电缆均衡器数据手册

    Texas Instruments LMH12x9 12G SDI电缆均衡器是具有集成时钟恢复器、双输出和75Ω环通输出的远距离自适应电缆均衡器。该器件旨在均衡通过75Ω同轴电缆传输的数据,并可
    的头像 发表于 07-15 09:43 685次阅读
    Texas Instruments LMH12x9 12G SDI电缆<b class='flag-5'>均衡器</b>数据手册

    一文详解Nginx负载均衡

    Nginx作为负载均衡器,通过将请求分发到多个后端服务器,以提高性能、可靠性和扩展性。支持多种负载均衡
    的头像 发表于 06-25 14:51 859次阅读
    一文详解<b class='flag-5'>Nginx</b><b class='flag-5'>负载</b><b class='flag-5'>均衡</b>

    Texas Instruments LMH0044SQ/NOPB 自适应电缆均衡器的参数特性、EDA模型 数据手册分享

    Texas Instruments LMH0044SQ/NOPB 自适应电缆均衡器的参数特性、EDA模型 数据手册分享
    的头像 发表于 06-09 19:14 856次阅读
    Texas Instruments LMH0044SQ/NOPB 自适应电缆<b class='flag-5'>均衡器</b>的参数特性、EDA模型 数据手册分享

    数字化时代机房危机:地电位反击,看电压均衡器如何破局

    电压均衡器防止地电位反击
    的头像 发表于 06-03 10:20 682次阅读
    数字化时代机房危机:地电位反击,看电压<b class='flag-5'>均衡器</b>如何破局

    四层和七层负载均衡的核心区别

    在现代分布式系统和云计算架构中,负载均衡(Load Balancing, LB)是确保高可用性、可扩展性和性能优化的关键技术。负载均衡器根据不同的OSI模型层级工作,主要分为四层(L4
    的头像 发表于 05-29 17:42 952次阅读

    Kubernetes负载均衡器MetalLB介绍

    Kubernetes中一个应用服务会有一个或多个实例,每个实例(Pod)的IP地址由网络插件动态随机分配(Pod重启后IP地址会改变)。为屏蔽这些后端实例的动态变化和对多实例的负载均衡,引入了 Service这个资源对象。
    的头像 发表于 03-18 16:24 727次阅读
    Kubernetes<b class='flag-5'>负载</b><b class='flag-5'>均衡器</b>MetalLB介绍

    Haproxy负载均衡器深度解析

    Load Balance,简称LB,是一种服务或基于硬件设备等实现的高可用反向代理技术,负载均衡将特定的业务(web服务、网络流量等)分担给指定的一个或多个后端特定的服务器或设备,从而提高了公司业务的并发处理能力、保证了业务的高可用性、方便了业务后期的水平动态扩展。
    的头像 发表于 03-01 14:12 1022次阅读

    FilterBank均衡器插件介绍

    FilterBank是McDSP的第一款产品,是一款均衡器插件,其灵活的设计和丰富的功能集可与任何模拟均衡器相媲美。它可以模拟任何均衡器,也可用于创建独特的自定义均衡器。 Filter
    的头像 发表于 01-17 11:47 900次阅读
    FilterBank<b class='flag-5'>均衡器</b>插件介绍

    了解图形均衡器与参数均衡器的区别

    在音频处理领域,均衡器(Equalizer)是一种用于调整音频信号频率响应的设备或软件工具。它可以帮助我们增强或减弱特定频率范围的声音,以达到改善音质、去除噪音或创造特定音效的目的。图形均衡器和参数
    的头像 发表于 12-26 09:35 3784次阅读

    均衡器调整步骤与注意事项

    均衡器调整步骤 理解均衡器界面 均衡器通常有多个频率滑块,每个滑块对应不同的频率范围。 了解每个滑块对应的频率范围和它们对声音的影响。 设置基准线 将所有滑块设置到中间位置,这是默认的平坦响应状态
    的头像 发表于 12-26 09:33 5038次阅读

    均衡器与音频效果器的区别

    在音频处理中,均衡器和音频效果器是两种常见的设备,它们各自承担着不同的功能,以满足不同的音频处理需求。 均衡器(Equalizer) 均衡器是一种音频处理设备,用于调整音频信号中不同频率成分的相对
    的头像 发表于 12-26 09:31 3853次阅读

    便携式均衡器的优势与使用

    在现代音乐制作和音频消费中,音质的个性化和优化变得越来越重要。便携式均衡器作为一种灵活、高效的音频处理工具,为用户提供了调整和优化音质的可能。 一、便携式均衡器的优势 便携性与灵活性 便携式
    的头像 发表于 12-26 09:30 1247次阅读

    如何使用音频均衡器提高音质

    在音乐制作和音频工程领域,音质的提升始终是追求的目标之一。音频均衡器(EQ)作为调整声音频率的工具,对于改善音质起着至关重要的作用。通过精细的频率调整,我们可以增强或减弱特定频段的声音,以达到更平衡
    的头像 发表于 12-26 09:28 3151次阅读