首页 > 系统相关 >nginx的负载均衡方式

nginx的负载均衡方式

时间:2024-06-08 16:28:44浏览次数:26  
标签:lutixia 负载 http cn web server nginx 均衡 upstream

Nginx是一种高性能的HTTP和反向代理服务器,它具有强大的负载均衡功能。Nginx支持多种负载均衡策略,包括轮询、权重轮询、最少连接、IP哈希等。

1. 轮询(Round Robin)

轮询是Nginx的默认负载均衡方式,它将请求依次分配给每个后端服务器。

配置:
http {    upstream web {        server bash.lutixia.cn;        server acp.lutixia.cn;        server www.lutixia.cn;    }
    server {        listen 80;        location / {            proxy_pass http://web;        }    }}

2. 权重轮询(Weighted Round Robin)

在轮询基础上,权重轮询为每个服务器分配权重,根据权重值分配请求的比例。权重越高,分配的请求越多。

配置:​​​​
http {    upstream web {         server bash.lutixia.cn weight=3;         server acp.lutixia.cn weight=1;         server www.lutixia.cn weight=2;    }
    server {        listen 80;        location / {            proxy_pass http://web;        }    }}
3. 最少连接(Least Connections)

最少连接策略将请求分配给当前活动连接数最少的服务器。这对于长时间处理的请求非常有效,可以均衡服务器的负载。

配置:​​​​
http {    upstream web {        least_conn;        server bash.lutixia.cn;        server acp.lutixia.cn;        server www.lutixia.cn;    }
    server {        listen 80;        location / {            proxy_pass http://web;        }    }}

4. IP哈希(IP Hash)

IP哈希策略基于客户端IP地址,将相同IP地址的请求分配给同一台服务器。适用于需要会话保持的场景。

配置:​​​​​​​
http {    upstream web {        ip_hash;        server bash.lutixia.cn;        server acp.lutixia.cn;        server www.lutixia.cn;    }
    server {        listen 80;        location / {            proxy_pass http://web;        }    }}

5. URL哈希(URL Hash)

URL哈希策略基于请求的URL,将相同URL的请求分配给同一台服务器。适用于缓存服务器以提高缓存命中率。

配置:​​​​​​​
http {    upstream web {        hash $request_uri consistent;        server bash.lutixia.cn;        server acp.lutixia.cn;        server www.lutixia.cn;    }
    server {        listen 80;        location / {            proxy_pass http://web;        }    }}

6. 自定义健康检查

为确保请求只分配给健康的服务器,可以配置健康检查功能。

配置:​​​​​​​
http {    upstream web {        server bash.lutixia.cn; max_fails=3 fail_timeout=30s;        server acp.lutixia.cn; max_fails=3 fail_timeout=30s;        server www.lutixia.cn; max_fails=3 fail_timeout=30s;    }
    server {        listen 80;        location / {            proxy_pass http://web;        }    }}

7. 根据响应时间均衡

需要编译模块nginx-upstream-fair。

8. 根据cookies均衡

需要编译模块nginx-sticky

标签:lutixia,负载,http,cn,web,server,nginx,均衡,upstream
From: https://blog.csdn.net/x465454816134318/article/details/139548041

相关文章

  • 利用WinSW将Nginx 作为可正常启动/停止的windows服务
    下载winsw程序,Releases·winsw/winsw(github.com)将下载的exe文件放置到nginx.exe的同级目录,名字可以修改为nginx-service.exe(也可不修改)新建txt文本文档,并将其名称改为winsw程序一模一样的名称(不包含.和后缀),填写如下内容1<service>2<id>nginx</id>3<......
  • Nginx 配置防护 缓慢的 HTTP拒绝服务攻击+点击劫持:X-Frame-Options未配置
    一安全团队检测网站1 检测到目标主机可能存在缓慢的HTTP拒绝服务攻击缓慢的HTTP拒绝服务攻击是一种专门针对于Web的应用层拒绝服务攻击,攻击者操纵网络,对目标Web服务器进行海量HTTP请求攻击,直到服务器带宽被打满,造成了拒绝服务。慢速HTTP拒绝服务攻击经过不断的演变和发展......
  • 09.1手工制作docker镜像-多服务ssh+nginx
    手工制作docker镜像-多服务ssh+nginx一个容器多个服务基于centos6.9系统添加yum源与epel源安装nginx、ssh服务yuminstallnginxopenssh-server-y因镜像系统为纯系统,没有root密码,所以需要配置密码echo123456|passwd--stdinroot注:因配置yum源存在坑,详见cento......
  • k8s学习--ingress详细解释与应用(nginx ingress controller))
    文章目录lngress简介什么是IngressIngress的用途Ingress的工作原理Ingress的工作流程Ingress的应用场景应用实验环境部署nginxingresscontroller1.安装metalLB2.nginxingresscontroller部署3.ingress对象应用案例(基于名称的负载均衡)(1)创建deployment控制......
  • nginx配置跨域文档记录
    参考:https://www.cnblogs.com/PengfeiSong/p/12993446.html@目录概要代码小结概要这个跨域我之前配置过,昨天搜了下教程没有配成功,今天上午又花了近一上午才搞定,特意过来记录下代码server{listen80;server_nameapi.xxx.space;client_max_body_size50M;......
  • 从零手写实现 nginx-09-compress http 文件压缩
    前言大家好,我是老马。很高兴遇到你。我们为java开发者实现了java版本的nginxhttps://github.com/houbb/nginx4j如果你想知道servlet如何处理的,可以参考我的另一个项目:手写从零实现简易版tomcatminicat手写nginx系列如果你对nginx原理感兴趣,可以阅读:从零......
  • Python实现简单负载均衡
    使用场景,最近在研究把废弃的安卓手机利用起来跑python代码,但是有好多台安卓手机。我就想着把其中一台拿来做负载均衡,然后分配给其他4台烂手机,哈哈哈,废物再利用。至于安卓怎么跑python代码,就自己查一下相关资料了哈,这里就不赘述了。``fromflaskimportFlask,request,jsonif......
  • centos7.9服务器部署nginx1.27.0
    在CentOS7.9服务器上安装带有stream模块的Nginx服务,你需要执行以下步骤:安装依赖:在开始安装Nginx之前,你需要先安装一些必要的依赖库。这包括gcc编译环境、pcre库(用于重写功能)、zlib库(用于http包内容的gzip压缩)、以及openssl库(用于通信加密)。可以使用yum命令进行安装:sudoyumin......
  • Python实现简单负载均衡
    使用场景,最近在研究把废弃的安卓手机利用起来跑python代码,但是有好多台安卓手机。我就想着把其中一台拿来做负载均衡,然后分配给其他4台烂手机,哈哈哈,废物再利用。至于安卓怎么跑python代码,就自己查一下相关资料了哈,这里就不赘述了。 importrequestsimportthreadingimport......
  • 基于FPGA的图像直方图均衡化处理verilog实现,包含tb测试文件和MATLAB辅助验证
    1.算法运行效果图预览FPGA的仿真图如下:   将数据导入MATLAB,对比结果如下:  2.算法运行软件版本MATLAB2022a vivado2019.2 3.部分核心程序  `timescale1ns/1ps////Company://Engineer:////CreateDate:2023/01/1901:47:15//DesignNa......