首页 > 系统相关 >nginx 5种负载均衡策略

nginx 5种负载均衡策略

时间:2024-04-12 11:47:17浏览次数:18  
标签:负载 hash weight 192.168 server nginx backserver 均衡 upstream

目录

nginx 5种负载均衡策略

nginx的upstream目前支持的5种方式的分配

轮询(默认)

每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。
upstream backserver {
server 192.168.0.14;
server 192.168.0.15;
}

指定权重

指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况。
upstream backserver {
server 192.168.0.14 weight=8;
server 192.168.0.15 weight=10;
}

ip_hash

每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session的问题。
upstream backserver {
ip_hash;
server 192.168.0.14:88;
server 192.168.0.15:80;
}

fair(第三方)

按后端服务器的响应时间来分配请求,响应时间短的优先分配。
upstream backserver {
server server1;
server server2;
fair;
}

url_hash(第三方)

按访问url的hash结果来分配请求,使每个url定向到同一个后端服务器,后端服务器为缓存时比较有效。
upstream backserver {
server squid1:3128;
server squid2:3128;
hash $request_uri;
hash_method crc32;
}

在需要使用负载均衡的server中增加

proxy_pass http://backserver/;
upstream backserver{
ip_hash;
server 127.0.0.1:9090 down; (down 表示当前的server暂时不参与负载)
server 127.0.0.1:8080 weight=2; (weight 默认为1.weight越大,负载的权重就越大)
server 127.0.0.1:6060;
server 127.0.0.1:7070 backup; (其它所有的非backup机器down或者忙的时候,请求backup机器)
}

max_fails :允许请求失败的次数默认为1.当超过最大次数时,返回proxy_next_upstream 模块定义的错误
fail_timeout:max_fails次失败后,暂停的时间

标签:负载,hash,weight,192.168,server,nginx,backserver,均衡,upstream
From: https://www.cnblogs.com/liwenchao1995/p/18130832

相关文章

  • nginx负载均衡的健康检查
    前言:我们使用nginx最常用到的功能恐怕就是负载均衡了,配置负载均衡主要是要使用upstream指令了配置如下所示:那么如果这其中有一台端口不通了,怎么办,nginx会不会自动剔除呢?我们就需要使用nginx的健康检查功能了一Nginx(自带)有健康检查模块:ngx_http_upstream_module-被动检查......
  • docker nginx监听80端口 同一 IP 多域名配置方法--多子配置文件包含 https
    下载nginx镜像文件dockerpullnginx:1.24.0宿主机上创建nginx_80目录htmlcertconflogs创建配置文件nginx.conf一、Nginx配置文件nginx.conf操作:在http模块增加(子配置文件的路径和名称):include/etc/nginx/conf.d/*.conf;usernginx;worker_processes1;err......
  • docker -nginx2
    使用docker部署nginx的负载均衡 前言:nginx做负载均衡使用权重轮训方式,1号服务器提供转发服务,2号和3号服务器实际使用。过程:创建文件夹:mkdir-pv/lnmp/nginx/nginx_proxy/{data,conf/conf.d,logs}mkdir-pv/lnmp/nginx/nginx_one/{data,conf/conf.d,logs}mkdir-pv/lnmp/n......
  • NGINX的速率限制(限流)【转】
    NGINX的速率限制(限流)NGINX最有用但经常被误解和配置错误的功能之一是限流。它允许您限制用户在给定时间段内可以发出的HTTP请求量。限流可以用于安全目的,例如减慢暴力破解密码的攻击。它可以通过限制请求速率为真实用户的典型值来帮助防御分布式拒绝服务(DDoS)攻击,并且(通过记录日......
  • Windows机器部署nginx并设置开机自启
    1.Windows安装nginx服务(1)下载nginx安装包      http://nginx.org/download/nginx-1.22.1.zip(3)解压安装                #进入目录修改配置文件(修改配置文件此处省略,根据自己的需求进行修改)     2.Windows设置nginx开机......
  • 网站使用nginx部署ssl证书开启https(开启http2)
    目录网站部署ssl证书就是将网站的http协议转换为更加安全的https协议1、腾讯云申请ssl证书2、下载证书3、xftp将下载的证书上传到服务器指定的目录下4、nginx配置对应域名的443端口,开启ssl5、nginx监听对应域名的80端口返回301强制重定向到该域名下的ssl443端口测试HTTP......
  • 关于配置单机k8s 创建nginx时出现pod 0/1一直pending的情况
    这个事情困扰了我一整天,创建nginx时出现pod0/1pending,一开始是以为flannel网卡出现了问题,一直去选择用calico网卡,但是calico这个玩意配置的路上全是坑,所以一直配不出calico,疯狂重启,疯狂报错,发现flannel网卡没有问题。于是出搜索是怎么回事,删除了nginx重新创建了nginx(这个......
  • Docker安装Nginx容器
    安装Nginx#查找官方镜像dockersearchnginx#下载最新版Nginx镜像(其实此命令就等同于:dockerpullnginx:latest)dockerpullnginx#下载指定版本的Nginx镜像(xxx指具体版本号)dockerpullnginx:xxx#检查当前所有Docker下载的镜像dockerimages创建Nginx配置......
  • docker -nginx
                (版本号)dockerpullnginx:1.17.8dockerrun--namenginx-p9091:80-dnginx:1.17.8mkdir-p/data/nginx/{conf,conf.d,html,logs}##拷贝配置文件dockercp1022c6f181b9:/etc/nginx/nginx.conf/data/nginx/conf/nginx.conf##映射......
  • Nginx模块安装配置
    Nginx模块安装配置一、查看nginx安装的模块要查看Nginx安装了哪些模块,可以使用Nginx的二进制文件运行nginx-V命令。这将输出Nginx版本和配置参数,包括编译时包含的模块。在命令行中运行以下命令:nginx-V查看输出中的--with-参数,这些参数后面通常会跟着模块名称,比如--w......