nginx upstream模块
介绍
upstream与proxy模块紧密配合的模块,在这里配置一组上游服务器,并且可以设置不同的权重、类型或下线(down)
模块指令
ip_hash
通过ip地址的哈希值确保客户端均匀的连接服务器
keepalive
每个worker进程缓存上游服务器的连接数
least_conn
负载均衡算法将请求发到活跃连接数最少的服务器
server
定义upstream的服务器地址(带有端口的域名或ip或unix套接字)
保持活动连接
配置示例
upstream back{
server 192.168.1.1:8080;
keepalive 32;
}
location / {
proxy_http_version 1.1;
proxy_set_header connection "";
proxy_pass http://back;
}
上面配置表示nginx要和上游服务器运行在8080端口保持32个连接,通过不发送close的头保持连接打开,并指定使用http/1.1同上游服务器通讯
负载均衡类型
轮询
可以用down
指令标记服务器不再接收请求
upstream back{
server 192.168.1.1:8080;
server 192.168.1.2:8080;
server 192.168.1.3:8080 down;
}
权重
权重越高优先级越大
upstream back{
server 192.168.1.1:8080 weight=1;
server 192.168.1.2:8080 weight=2;
}
ip_hash
看模块指令介绍
upstream back{
ip_hash;
server 192.168.1.1:8080;
server 192.168.1.2:8080;
}