Nginx利用ngx_http_upstream_module模块定义后端服务器组

本文介绍Nginx中ngx_http_upstream_module模块如何定义后端服务器组,并通过proxy_pass等指令实现负载均衡。详细解释了upstream配置项及其参数,如权重、失败重试次数等,还介绍了调度算法如最少连接数和源地址哈希。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Nginx负载均衡实现的基本过程

先利用ngx_http_upstream_module模块定义一个后端服务器组
然后再用其他代理相关模块进行负载均衡

ngx_http_upstream_module模块

ngx_http_upstream_module模块用于定义可由proxy_pass、fastcgi_pass、uwsgi_pass、scgi_pass和memcached_pass指令引用的服务器组

常见配置项

1、upstream name { … }

定义后端服务器组,会引入一个新的上下文;Context: http

示例:
upstream backend {
    server backend1.example.com weight=5;
    server 127.0.0.1:8080       max_fails=3 fail_timeout=30s;
    server unix:/tmp/backend3;
    server backup1.example.com  backup;
}
2、server address [parameters];

在upstream上下文中server成员,以及相关的参数;

parameters:

weight=number:权重,默认为1;
max_fails=number:失败尝试最大次数;超出此处指定的次数时,server将被标记为不可用;
fail_timeout=time:设置将服务器标记为不可用状态的超时时长;
max_conns:当前的服务器的最大并发连接数;
backup:将服务器标记为“备用”,即所有服务器均不可用时此服务器才启用;
down:标记为“不可用”;
3、least_conn;

最少连接调度算法,当server拥有不同的权重时其为wlc;

4、 ip_hash;

源地址hash调度方法;

示例:
upstream backend {
    ip_hash;   #设置调度算法

    server backend1.example.com;
    server backend2.example.com;
    server backend3.example.com down;
    server backend4.example.com;
}
5、keepalive connections;

为每个worker进程保留的空闲的长连接数量;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值