nginx负载均衡安装与配置(Nginx负载均衡原理及应用实践)
nginx负载均衡安装与配置(Nginx负载均衡原理及应用实践)
2024-11-22 10:58:21  作者:披风挽发  网址:https://m.xinb2b.cn/life/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模块软件包。

  • 三国演义读后感600字(关于三国演义的读后感作文示例)
  • 2024-11-22关于三国演义的读后感作文示例有这样一本书,它巍然屹立在文学的巅峰,是中国古代四大名著之一,它的名字就是――《三国演义》它讲述了一个英雄辈出的乱世,各路英雄舍生忘死,为了国家和志向而拼杀的故事“东汉末年分三国,烽火连天不休…”听着。
  • 私家车年检周期即将延长(私家车年检周期又放宽了)
  • 2024-11-22私家车年检周期又放宽了10月起,私家车年检周期又放宽了私家车年检是我们每个驾驶人都会碰到的问题,随着新车首六年免上线年检的实施,已经让我们方便很多,买车也终于可以摆脱过去那种年年都要年检的局面不过还是很多人觉得这样的政策不。
  • 21岁走红却因得罪导演18年无演出 主持真相一炮而红
  • 2024-11-2221岁走红却因得罪导演18年无演出 主持真相一炮而红说起娱乐圈里的老牌男神,陈道明自然不必多言,王庆祥、杨立新也一直是小不我心中的前几位,当然,今天要说的可能名字大家不熟悉,但看到脸听到声你一定会说,哦,原来是他!马跃出生在一个书香之家,父亲是教育学院。
  • 雅马哈n max155买哪个版(说好的雅马哈N-MAX155要引进)
  • 2024-11-22说好的雅马哈N-MAX155要引进早在去年雅马哈的一次活动上,官方就透露出要引进NMAX155,其价格会参考国内R15售价,NMAX155的正式定价应该在23800元人民币随着北京YAMAHA速博百客新店的开业,和TMAX车主会的成立。
  • 狂飙孟钰为什么被绑架(孟钰给自己下毒)
  • 2024-11-22孟钰给自己下毒下毒马涛计划和杨健“出逃”,离开京海而他们已经深知自己罪孽深重,被专案调查组盯梢监视了临走前,马涛找人买了一包“毒品”,让杨健想办法给安欣服下,目的是拖延时间,伺机而溜让安欣服毒,查出尿检阳性,这并不。
  • 焦急的罗曼史电视剧剧情(焦急的罗曼史简介)
  • 2024-11-22焦急的罗曼史简介剧情:拥有帅气外表但性格刻薄的富二代车镇旭(成勋饰),在以基层员工的身份到自家经营的度假村工作时,偶遇了一名叫做李宥美(宋智恩饰)的女孩两人共度了一个浪漫甜蜜的夜晚,但宥美隔天却无声无息地消失,让镇旭。
  • 龚宇爱奇艺创始人完整版(爱奇艺龚宇爱奇艺原创电影计划)
  • 2024-11-22爱奇艺龚宇爱奇艺原创电影计划中新经纬客户端5月9日电5月9日上午,爱奇艺创始人龚宇公布爱奇艺将推出原创电影计划该计划将以独家投资、联合制作、院线发行的合作方式与制片方和院线展开合作龚宇在现场表示:“我们希望把蛋糕做大,带来长期的。
  • 千岛湖旅游仙境(来场千年约会领略千岛湖)
  • 2024-11-22来场千年约会领略千岛湖只此青绿只此一湖千岛湖不止于胡俯瞰千岛湖千岛湖壮观新安江在群山中穿过,接近淳安县城时,仿如神指引,放慢了脚步,在这里平缓流淌千年前从唐代开始,贺城(淳安县)、狮城(遂安县)在滚滚历史长河中,留下了重要。
  • 呼吸困难的健康评估(为了一个病人的呼吸)
  • 2024-11-22为了一个病人的呼吸在上海瑞金医院的298天里,65岁的老施几经濒死——急性肾衰竭、休克、呼吸衰竭……在这样的病情威胁下,老施进行了一场生死攸关的大手术——双肺移植肺移植是最难的器官移植手术之一,获得上级卫生行政部门同意。
  • 对恩师表达感谢的诗句(对恩师表达感谢的诗句有哪些)
  • 2024-11-22对恩师表达感谢的诗句有哪些《新竹》佚名新竹高于旧竹枝,全凭老干为扶持明年再有新生者,十丈龙孙绕凤池《远师》唐·白居易东宫白庶子,南寺远禅师何处遥相见,心无一事时《酬问师》唐·刘商虚空无处所,仿佛似琉璃诗境何人到,禅心又过诗《板。
  • 华为平板怎么截图(如何使用华为平板怎么截图)
  • 2024-11-22如何使用华为平板怎么截图打开平板后,将工具栏往下拉,里面就有【截图】点击【截图】后,就会自动截取当前的屏幕同时点击【音量键下键+开锁键】这样的截图方式和第一种是一模一样的如果大家想要滚动截图,也要先这样截图,再点击【滚动截图。