nginx配置负载均衡的几种方式

1,轮询(默认)

每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器

down掉,能自动剔除。

复制代码
    # 反向代理配置
    upstream server_list{
       # 这个是tomcat的访问路径
       server localhost:8080;
       server localhost:9999;
    }
    server {
            listen       80;
            server_name  localhost;
    
            location / {
                root   html;
                proxy_pass http://server_list;
                index  index.html index.htm;
            }
    
            error_page   500 502 503 504  /50x.html;
            location = /50x.html {
                root   html;
            }
        }

2,weight 权重

weight 代表权重,默认为1,权重越高被分配的客户端越多

指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况。 例如

复制代码
# 反向代理配置
upstream server_list{
# 这个是tomcat的访问路径
server localhost:8080 weight=5;
server localhost:9999 weight=1;
}

3,ip_hash

每个请求按访问ip的hash值分配,这样每个访问客户端会固定访问一个后端服务器,可以解决会话Session丢失的问题,不管刷新多少遍,始终访问的是同一台tomcat服务器

复制代码
upstream backserver { 
        ip_hash; 
        server 127.0.0.1:8080; 
        server 127.0.0.1:9090; 
}

4,最少连接

web请求会被转发到连接数最少的服务器上

复制代码
upstream backserver { 
    least_conn;
    server 127.0.0.1:8080; 
    server 127.0.0.1:9090; 
}    
  1. fair

按后端服务器的响应时间来分配,响应时间越短越优先分配

复制代码
upstream backserver { 
    server 127.0.0.1:8080; 
    server 127.0.0.1:9090; 
    fair;
}    
相关推荐
PHP实战开发录2 小时前
PHP文件上传成功为什么页面却找不到
开发语言·nginx·php·开发
「、皓子~9 小时前
海狸IM 2.1 私有化部署从零到一:中间件、微服务与 Nginx 全流程
nginx·flutter·微服务·中间件·开源软件·im·海狸im
徐小黑ACG21 小时前
nginx配置文件
linux·服务器·nginx
考虑考虑1 天前
nginx打印请求日志
运维·后端·nginx
重生之我是Java开发战士1 天前
【Spring Cloud】Eureka服务注册发现与LoadBalancer负载均衡
spring cloud·eureka·负载均衡
Rain的Java大神之路2 天前
JavaWeb开发如何解决跨域问题
java·前端·后端·nginx·web安全·面试·运维开发
Lsetea2 天前
Nginx报SSL_CTX_use_PrivateKey failed:证书与私钥不匹配怎么排查
nginx·https·ssl证书·openssl·私钥
!chen2 天前
客户环境 Nginx 配置流式报表与超时排查
运维·nginx
2601_966799042 天前
酷嗨米J300:硬件级多通道分发采集设备,为矩阵直播打造独立信号通道
服务器·网络·负载均衡
大喵桑丶2 天前
AlmaLinux 9 上基于 PostgreSQL + Nginx 部署高可用轻量级 Gitea 服务
nginx·postgresql·gitea