nginx 负载均衡轮询方式配置详解

 更新时间:2022年03月06日 10:26:33   作者:AllenLeungX  
负载均衡(load-balance)就是将负载分摊到多个操作单元上执行,从而提高服务的可用性和响应速度,带给用户更好的体验,本文给大家介绍nginx 负载均衡轮询方式配置,感兴趣的朋友一起看看吧

一、概述

Nginx的upstream目前支持的分配算法:
1、round-robin 轮询1:1轮流处理请求(默认)
每个请求按时间顺序逐一分配到不同的应用服务器,如果应用服务器down掉,自动剔除,剩下的继续轮询。
2、weight 权重(加权轮询)
通过配置权重,指定轮询几率,权重和访问比率成正比,用于应用服务器性能不均的情况。
3、ip_hash 哈希算法
每个请求按访问ip的hash结果分配,这样每个访客固定访问一个应用服务器,可以解决session共享的问题。应用服务器如果故障需要手工down掉。
参数含义:
down:表示单前的server暂时不参与负载
weight:默认为1,weight越大,负载的权重就越大。
max_fails:允许请求失败的次数默认为1.当超过最大次数时,返回proxy_next_upstream模块定义的错误
fail_timeout:max_fails次失败后,暂停的时间。
backup:其它所有的非backup机器down或者忙的时候,请求backup机器。

二、配置

 1、round-robin 轮询(默认)

upstream tg-t4 {
    server 10.0.0.110:8099;
    server 10.0.0.110:8098;
}
server {
    listen 8096;
    server_name www.tg-t4.com;
    location / {
    proxy_pass http://tg-t4;
    }
}

访问结果:ABABABABA

2、加权轮询

upstream tg-t4 {
    server 10.0.0.110:8099 weight=2;
    server 10.0.0.110:8098 weight=5;
}
server {
    listen 8096;
    server_name www.tg-t4.com;
    location / {
    proxy_pass http://tg-t4;
    }
}

访问结果:ABBABB ABBABB

注:weight影响的访问结果是按最小比例算的,而不是理想状态下:AABBBBB AABBBBB

3、ip_hash

upstream tg-t4 {
    server 10.0.0.110:8099;
    server 10.0.0.110:8098;
    ip_hash;
}
server {
    listen 8096;
    server_name www.tg-t4.com;
    location / {
    proxy_pass http://tg-t4;
    }
}

访问结果:

IP1:AAAAAA

IP2:BBBBBB

4、热备

upstream tg-t4 {
    server 10.0.0.110:8099;
    server 10.0.0.110:8098 backup;
}
​
server {
    listen 8096;
    server_name www.tg-t4.com;
    location / {
    proxy_pass http://tg-t4;
    }
}

访问结果:

访问1:两个服务均正常。AAAAAA

访问2:停用10.0.0.110:8099。BBBBBB

访问3:重启10.0.0.110:8099。AAAAAA

5、加参数优化

upstream tg-t4 {
    server 10.0.0.110:8099 weight=1 max_fails=2 fail_timeout=2;
    server 10.0.0.110:8098 weight=3 max_fails=2 fail_timeout=2 backup;
}
​
server {
    listen 8096;
    server_name www.tg-t4.com;
    location / {
    proxy_pass http://tg-t4;
    }
}

访问结果:同4

backup优先级最高,当有了这个参数设定,那么所对应的服务只能作为热备。

配置文件参考:

https://www.jb51.net/article/235779.htm

轮询方式参考:

https://www.jb51.net/article/178868.htm

七层与四层参考:

https://www.jb51.net/article/111345.htm

到此这篇关于nginx 负载均衡轮询方式配置的文章就介绍到这了,更多相关nginx 负载均衡内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • CentOS下编译安装nginx及配置缩略图插件的方法教程

    CentOS下编译安装nginx及配置缩略图插件的方法教程

    这篇文章主要给大家介绍了在CentOS系统下编译安装nginx及配置缩略图插件的方法教程,文中给出了详细的安装步骤,对大家具有一定的参考价值,有需要的朋友们下面来一起看看吧。
    2017-02-02
  • Nginx静态压缩和代码压缩提高访问速度详解

    Nginx静态压缩和代码压缩提高访问速度详解

    Nginx提供静态压缩功能,对于比较大的文件,可以自动默认查找.gz后缀的压缩包,下面这篇文章主要给大家介绍了关于Nginx静态压缩和代码压缩提高访问速度的相关资料,需要的朋友可以参考下
    2022-05-05
  • Nginx中location匹配以及rewrite重写跳转详解

    Nginx中location匹配以及rewrite重写跳转详解

    访问重写 rewrite 是 Nginx HTTP 请求处理过程中的一个重要功能,下面这篇文章主要给大家介绍了Nginx中location匹配以及rewrite重写跳转的相关资料,需要的朋友可以参考下
    2022-03-03
  • 基于Nginx禁止指定IP、国外IP访问我的网站

    基于Nginx禁止指定IP、国外IP访问我的网站

    这篇文章主要介绍了用Nginx禁止指定IP、国外IP访问我的网站,想要实现这个功能方法有很多种,这里基于 Nginx 的 ngx_http_geoip2 模块来禁止国外 IP 访问网站,需要的朋友可以参考下
    2022-05-05
  • 从Nginx切换到Tengine的步骤分享

    从Nginx切换到Tengine的步骤分享

    由淘宝网发起的Web服务器 Tengine 可以被看作一个更好的Nginx,或者是Nginx的超集。它在Nginx的基础上,针对大访问量网站的需求,添加了很多高级功能和特性
    2012-11-11
  • Nginx配置 location模块实现路由(反向代理、重定向)功能

    Nginx配置 location模块实现路由(反向代理、重定向)功能

    本文主要介绍了Nginx配置 location模块实现路由(反向代理、重定向)功能,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-04-04
  • 单台web服务器如何尽可能的提高网站性能

    单台web服务器如何尽可能的提高网站性能

    一个网站,对于个人或小公司来说,前期直接上集群的开销是比较大的,那么采用单台服务器如何才能尽可能的提高网站效率呢?
    2014-06-06
  • nginx处理http请求实现过程解析

    nginx处理http请求实现过程解析

    这篇文章主要介绍了nginx处理http请求实现过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-11-11
  • Nginx配置之实现多台服务器负载均衡

    Nginx配置之实现多台服务器负载均衡

    这篇文章主要介绍了Nginx配置之实现多台服务器负载均衡,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
    2021-07-07
  • Nginx处理跨域问题小结

    Nginx处理跨域问题小结

    这篇文章主要介绍了Nginx处理跨域问题小结,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2024-01-01

最新评论