nginx负载均衡安装与配置(Nginx负载均衡原理及应用实践)
nginx负载均衡安装与配置(Nginx负载均衡原理及应用实践)
2024-11-05 07:25:12  作者:披风挽发  网址:https://m.xinb2b.cn/know/goj242563.html
逻辑架构图

Nginx负载均衡的逻辑架构图如下图所示:


Nginx负载均衡逻辑架构图

负载均衡配置

Nginx负载均衡服务器清单:

服务器名称

IP

说明

Load Balance Server

10.0.0.10

Nginx负载均衡服务器

Web Server 1

10.0.0.20

Web应用服务器

Web Server 2

10.0.0.21

Web应用服务器

负载均衡服务器Nginx.conf配置如下:

worker_process 1;events {worker_connections 1024;}http {include mime.types;default_type application/octet-stream;sendfile on;keepalive_timeout 65;upstream www_pools { # 定义Web服务池server 10.0.0.20:80 weight = 1;server 10.0.0.21:80 weight = 1;}Server { # 定义负载均衡虚拟主机listen 80;server_name www.test.com; # 根据实际域名填写location / {proxy_pass http://www_pools; # 访问www.test.com,请求转发给www_pools中的节点}}}

重启Nginx服务:

nginx -s reload

至此,已经完成了一个简单的负载均衡集群网络的配置,当用户输入网址http://www.test.com/访问负载均衡服务器时,负载均衡会根据设置的负载均衡算法将访问请求分发到Web server 1和Web Server 2两个节点。

负载均衡核心组件upstream 模块模块简介

Nginx负载均衡功能依赖于ngx_http_upstream_module模块,所支持的代理方式包括proxy_pass、fastcgi_pass、memcached_pass。

模块语法

示例1:基本upstream配置

upstream www_pools { # upstream关键词必须有,www_pools为集群组名称,自定义server 10.0.0.20:80 weight=5; # server固定关键词,后接域名或IP,端口不指定默认80server 10.0.0.21:80 weight=10; # weight表示权重,权重越大被分配几率越大}

示例2:较完整的upstream配置

upstream web_pools {server 10.0.0.5;server 10.0.0.6:80 weight=1 max_fails=1 fail_timeout=10s;server 10.0.0.10:80 weight=2 max_fails=2 fail_timeout=20s backup;}

示例3:使用域名及socket的upstream配置

upstream backend {server backend1.example.com weight=5;server backend2.example.com:8080;server unix:/tmp/backend3; # 指定socket文件server backup1.example.com:8080 backup;server backup2.example.com:8080 backup; #backup表示备份服务器,其他指定服务器都不可用时启动}

相关参数

upstream模块内部server标签参数说明

Server标签

参数说明

server 10.0.0.10:80

节点地址可以是IP或者域名,端口不写则默认为80端口

weight=1

服务器权重,默认值为1。权重越大表示接收请求比例越大

max_fails=1

Nginx尝试连接后端主机节点失败的次数

backup

热备配置参数,当前面激活的节点都失败后会自动启动热备节点。注意:当负载调度算法为ip_hash时,状态不能是weight和backup。

fail_timeout=10s

在max_fails定义的失败次数后,距离下次检查的间隔时间,默认是10s。

down

标志着该节点永远不可用,这个参数可配合ip_hash使用。

http_proxy_module模块

proxy_pass指令属于ngx_http_proxy_module模块,此模块可以将请求转发到另一台服务器。 在实际的反向代理工作中,会通过location功能匹配指定的URI,然后把接收到的符合匹配URI的请求通过proxy_pass抛给定义好的upstream节点池。

常见的使用案例:

(1)将匹配URI为name的请求抛给http://127.0.0.1/remote:

location /name/ {proxy_pass http://127.0.0.1/remote/;}

(2)将匹配URI为name的请求应用指定的rewrite规则,然后抛给http://127.0.0.1:

location /name/ {rewrite /name/([^/] ) /users?name=$1 break;proxy_pass http://127.0.0.1;}

负载均衡调度算法

调度算法一般可以分为两类:

静态调度算法: 负载均衡器根据自身设定的规则进行分配,不考虑后端节点服务器的情况。比如rr、wrr、ip_hash都属于静态调度算法。

动态调度算法: 负载均衡器会根据后端服务器当前状况来决定是否分发请求。比如least_conn、fair等都属于动态调度算法。

rr轮询算法

按照客户端请求顺序把客户端请求逐一分配给不同的后端节点,若后端节点宕机,则会被自动从节点池中剔除。

wrr权重轮询算法

在rr轮询算法的基础上加上权重,即权重轮询算法。权重和用户访问量成正比,权重值越大,被转发的请求也就越多。

ip_hash算法

每个请求按照客户端IP的hash结果分配,当新的请求到达时,先讲起客户端的IP通过哈希算法哈希出一个值,相同的哈希值会被分配到同一台节点服务器。

该调度算法可以解决动态网页的session共享问题。

fair算法

根据后端节点服务器的响应时间来分配请求,响应时间短的有限分配。

Nginx本身不支持fair调度算法,如果要使用该算法,必须下载upstream_fair模块。

least_conn算法

根据后端节点的连接数来决定分配情况,哪个节点连接数少就分给哪个节点。

url_hash算法

根据访问URL的hash结果来分配请求,让每个URL定向到同一个后端服务器。

Nginx本身不支持url_hash的,如果需要使用该算法,必须安装Nginx的hash模块软件包。

  • 有故事的人对出绝妙的下联(济南七旬老人万元求下联)
  • 2024-11-05济南七旬老人万元求下联近日,在济南联四路臧家屯小区门口墙上不知谁贴了一副楹联的下联,内容是《鉗鍛銲鉚行行行行行行行》,求上联并赠四大名著一套这幅楹联引起了不少人的兴趣,有人即兴对出上联,可也有人甚至不会念出来,有人说这对联。
  • 説啕是什么意思(説啕的意思)
  • 2024-11-05説啕的意思説啕 ShuōTáo轻佻《逸周书·宝典》:“説咷轻意,乃伤营立”卢文弨案:“説咷,当即侻佻,皆谓不厚重”组词説组词:説劒、説发、説咲、説啕、説啥、説喈、説天、説憙、説理、説议、説饼 啕组词:号啕、嗥啕。
  • 飘柔洗发水越用越油吗
  • 2024-11-05飘柔洗发水越用越油吗飘柔洗发水不是越洗越油因为头发有干性,中性和油性不同性的头发要对号入座选择不同的洗发水希望以上真诚的回答能够帮助到你。
  • 年轻小伙再婚小说(小说哥哥意外去世)
  • 2024-11-05小说哥哥意外去世我一狠心,咬着牙说道:“不行,我就要她!”大哥一听我的话,便将被子蒙住了头,呜呜的哭了起来……这天晚上,我在床上躺着,自从那天以后,我就像是着了魔一样,天天想着,可是地里的活干完了,大哥又看我看的紧,。
  • 双胎16周后多久做一次b超(双胎多久做一次B超)
  • 2024-11-05双胎多久做一次B超单绒和双绒双胎的临床预后明显不同,单绒双胎更容易出现胎儿并发症,因此,产前超声监测的频率是不一样的无合并症的双绒毛膜双胎妊娠应进行孕早期超声检查,即11-14周NT检查,确定孕周、明确绒毛膜性、进行双。
  • 12星座男对你动心时如何试探你,他对你的心动都藏在这些细节里
  • 2024-11-0512星座男对你动心时如何试探你,他对你的心动都藏在这些细节里落花有意,不知流水是否有情对方的一言一行,是有意还是无意,是友情还是爱情?今天我们一起来看看12星座男生心动的表现,掌控他们的放电讯息,不要错过心动的机会哦!1、白羊座白羊男讲究效率,他喜欢一个女生便。
  • 华帝10055b怎么样(套系智能家电之优选)
  • 2024-11-05套系智能家电之优选不知道,你是否听说过“家居一体化“随着现代人对生活质量的提高,对家装风格整体搭配和产品功能性的融合有了更高的要求要想提升家的质感,家具电器既要讲究实用性也要讲究美观在这一趋势下,知名厨电品牌在今年7月。
  • cf英雄级武器归类(CF英雄级武器盘点)
  • 2024-11-05CF英雄级武器盘点RPK-盘龙作为继AK47-火麒麟之后推出的第一把英雄级机枪,枪身盘绕着一条闪耀的银龙,装备该武器的玩家可在挑战模式获得额外分数,是一把性能与外观并重的武器,重火力爱好者们一定不要错过RPK机枪增加了。
  • 鼓用偏旁查字法怎么查
  • 2024-11-05鼓用偏旁查字法怎么查查部首支,再查笔画9金鼓[jīngǔ]基本解释四金和六鼓四金指錞﹑镯﹑铙﹑铎六鼓指雷鼓﹑灵鼓﹑路鼓﹑鼖鼓﹑鼛鼓﹑晋鼓金鼓用以节声乐﹐和军旅﹐正田役见《周礼.地官.鼓人》亦泛指金属制乐器和鼓钲。
  • 红薯叶的10种家常做法
  • 2024-11-05红薯叶的10种家常做法食材:红薯叶400克,面粉50克大蒜五瓣,生姜10克,熟芝麻少许,小米椒两个做法:红薯叶择好洗净,放入盆中,倒入面粉,用水抓拌三四下后,再淋上一条匙花生油,继续抓拌均匀,静置十分钟把剥好的大蒜和生姜拍。