Nginx:负载均衡

Nginx:负载均衡

1.轮询

1.1.普通轮询

    # 上游服务器
    upstream servers {
        server 192.168.1.201:3001;
        server 192.168.1.201:3002;
        server 192.168.1.201:3003;
    }

server {
    listen       80;
    server_name  localhost;

    #access_log  /var/log/nginx/host.access.log  main;

    location / {
        # 反向代理
        proxy_pass http://servers; 
        proxy_set_header X-Real-IP $remote_addr;
    }
    ...
}

1.2.权重轮询

    # 上游服务器
    upstream servers {
        server 192.168.1.201:3001 weight=2;
        server 192.168.1.201:3002;
        server 192.168.1.201:3003;
    }

server {
    listen       80;
    server_name  localhost;

    #access_log  /var/log/nginx/host.access.log  main;

    location / {
        # 反向代理
        proxy_pass http://servers; 
        proxy_set_header X-Real-IP $remote_addr;
    }
    ...
}

2.hash

2.1.ip_hash

    # 上游服务器
    upstream servers {
        ip_hash;
        server 192.168.1.201:3001;
        server 192.168.1.201:3002;
        server 192.168.1.201:3003;
    }

server {
    listen       80;
    server_name  localhost;

    #access_log  /var/log/nginx/host.access.log  main;

    location / {
        # 反向代理
        proxy_pass http://servers;
        proxy_set_header X-Real-IP $remote_addr;
    }
    ...
}

2.2.url_hash

    # 上游服务器
    upstream servers {
        hash $request_uri;
        server 192.168.1.201:3001;
        server 192.168.1.201:3002;
        server 192.168.1.201:3003;
    }

server {
    listen       80;
    server_name  localhost;

    #access_log  /var/log/nginx/host.access.log  main;

    location / {
        # 反向代理
        proxy_pass http://servers;
        proxy_set_header X-Real-IP $remote_addr;
    }

    #error_page  404              /404.html;

    # redirect server error pages to the static page /50x.html
    #
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }
    ...
}

3.least_conn

最少连接

    # 上游服务器
    upstream servers {
        least_conn;
        server 192.168.1.201:3001;
        server 192.168.1.201:3002;
        server 192.168.1.201:3003;
    }

server {
    listen       80;
    server_name  localhost;

    #access_log  /var/log/nginx/host.access.log  main;

    location / {
        # 反向代理
        proxy_pass http://servers;
        proxy_set_header X-Real-IP $remote_addr;
    }
    ...
}

4.负载均衡参数

  • weight: 权重
  • down: 禁用服务器
  • backup: 备用服务器,在其他服务器都不可用时会启用
  • max_fails: 最大失败的次数
  • fail_timeout: max_fails之后,禁用时间
  • max_conns: 限制最大连接数

5.参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yimtcode

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值