本文主要是介绍Nginx常用知识梳理(四)——upstream实现负载均衡,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
nginx实现负载均衡配置
1、http节点下,加入upstream节点
2、将server节点下的location节点中的proxy_pass配置为: http:// + upstream名称
如,
http {
upstream linuxidc{
server 10.0.0.10:8080;
server 10.0.0.11:8080;
}
server {
location / {
proxy_pass http://linuxidc;
}
}
}
===upstream分配策略
a. 轮询(默认) 每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。
upstream linuxidc{
server 10.0.0.10:8080;
server 10.0.0.11:8080;
}
b. weight(权重) 指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况。
upstream linuxidc {
server 10.0.0.77 weight=5;
server 10.0.0.88 weight-10;
}
c. ip_hash 每一个请求按访问ip的hash结果分配,这样每一个访客固定访问一个后端服务器,能够解决session问题。
upstream linuxidc {
ip_hash;
server 10.0.0.10:8080;
server 10.0.0.11:8080;
}
d. fair 按后端服务器的响应时间,响应时间短的优先分配
upstream linuxidc {
fair;
server 10.0.0.10:8080;
server 10.0.0.11:8080;
}
e. least_conn 请求会被转发到连接数最少的服务器上
upstream linuxidc {
least_conn;
server 10.0.0.10:8080;
server 10.0.0.11:8080;
}
===upstream 为每个设备设置状态值
down 表示当前的server临时不参与负载
backup 标记该服务器为备用服务器,当主服务器停止时,请求会被发送过来。
max_fails 设置在fail_timeout参数设置的时间内最大失败次数,如果在这个时间内,所有针对该服务器的请求都失败 了, 那么认为该服务器会被认为是停机了。
fail_time 服务器会被认为停机的时间长度,默认为10s。
这篇关于Nginx常用知识梳理(四)——upstream实现负载均衡的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!