upstream配置nginx.conf中的http 下,与server同级。
方式1: 轮询
upstream xxx_server_name{
server 192.168.10.1:80;
server 192.168.10.2:80;
server 192.168.10.3:80;
}
方式2: 权重轮询
upstream xxx_server_name{
server 192.168.10.1:80 weight=1;
server 192.168.10.2:80 weight=2;
server 192.168.10.3:80 weight=3;
}
方式3: ip_hash
每一个请求按訪问ip的hash结果分配
upstream xxx_server_name{
ip_hash;
server 192.168.10.1:80;
server 192.168.10.2:80;
server 192.168.10.3:80;
}
方式4: 按后端服务器的响应时间来分配请求。响应时间短的优先分配
fair(第三方), fair顾名思义,公平地按照后端服务器的响应时间(rt)来分配请求,响应时间短即rt小的后端服务器优先分配请求。如果需要使用这种调度算法,必须下载Nginx的upstr_fair模块。
upstream xxx_server_name{
server 192.168.10.1:80;
server 192.168.10.2:80;
server 192.168.10.3:80;
fail;
}
方式5:url_hash
目前用consistent_hash替代url_hash与ip_hash类似,但是按照访问url的hash结果来分配请求,使得每个url定向到同一个后端服务器,主要应用于后端服务器为缓存时的场景下。
upstream xxx_server_name{
server 192.168.10.1:80;
server 192.168.10.2:80;
server 192.168.10.3:80;
hash $request_uri;
hash_method crc32;
}
使用方式
将server节点下的location节点中的proxy_pass配置为:http:// + upstream名称,即“
http://xxx_server_name”
示例:
location / {
root html;
index index.html index.htm;
proxy_pass http://xxx_server_name;
}
作者:清晨的小白
链接:https://www.jianshu.com/p/ab7cf5484e8f
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。