文档章节

nginx学习九 upstream 负载均衡

Romanceling
 Romanceling
发布于 2018/08/20 08:54
字数 469
阅读 22
收藏 1
  • 语法
    Syntax: upstream name {...}
    Default:--
    Context:http

     

  • 后端服务器在负载均衡调度中的状态:
    down 当前的server暂时不参与负载均衡
    backup 预留的备份服务器
    max_fails 允许请求失败的次数
    fail_timeout 经过max_fails失败后,服务暂停的时间
    max_conns 限制最大的接收的连接数

     

  •  nginx 的调度算法:
    轮询  按时间顺序逐一分配到不同的后端服务器
    加权轮询   weight值越大,分配到的访问几率越高
    ip_hash 每个请求按访问IP的hash结果分配,这样来自同一个IP的请求,固定访问一个
    least_conn 最少连接数,哪个机器连接数少就分发
    url_hash 按照访问的URL的hash结果来分配请求,是每个URL定向到同一个后端服务器
    hash关键数值 hash自定义的key

     

  • 例 /etc/nginx/conf.d/default.con
    server {
        listen       8001;
        server_name  localhost;
    
        #charset koi8-r;
        access_log  /var/log/nginx/server.access.log  main;
    
        location / {
            root   /opt/app/code1;
            index  index.html index.htm;
        }
    ... ...
    }
    
    server {
        listen       8002;
        server_name  localhost;
    
        #charset koi8-r;
        access_log  /var/log/nginx/server.access.log  main;
    
        location / {
            root   /opt/app/code2;
            index  index.html index.htm;
        }
    ... ...
    }
    
    server {
        listen       8003;
        server_name  localhost;
    
        #charset koi8-r;
        access_log  /var/log/nginx/server.access.log  main;
    
        location / {
            root   /opt/app/code3;
            index  index.html index.htm;
        }
    ... ...
    }
    
    
    server {
        listen       80;
        server_name  localhost;
    
        #charset koi8-r;
        access_log  /var/log/nginx/test_proxy.access.log  main;
    
        location / {
            proxy_pass http://test_upstream;
        }
    ... ...
    }
    
    
    ##普通轮询
    upstream test_upstream {
    	server localhost:8001;
    	server localhost:8002;
    	server localhost:8003;
    }

     

  • 加权轮询
    upstream test_upstream {
        server localhost:8001;
        server localhost:8002 weight=5;
        server localhost:8003;
    }

     

  • 备份节点 
    upstream test_upstream {
        server localhost:8001 down; 
        server localhost:8002 backup;
        server localhost:8003 max_fails=1 fail_timeout=10s;
    }

     

  • ip_hash 
    upstream test_upstream {
    	ip_hash;
    	server localhost:8001; 
    	server localhost:8002;
    	server localhost:8003;
    }

     

  • url_hash  语法(1.7.2版本开始)
    Syntax: hash key [consistent];
    Default: --
    Context: upstream
    ##例:
    upstream test_upstream {
    	hash $request_uri;
    	server localhost:8001; 
    	server localhost:8002;
    	server localhost:8003;
    }
     

© 著作权归作者所有

Romanceling
粉丝 14
博文 166
码字总数 91809
作品 0
无锡
程序员
私信 提问
Nginx学习之负载均衡fair模块

Nginx学习之负载均衡fair模块 2017-04-10 20:27 写在开始 前面对Nginx的三种负载均衡实现做了一个简单的介绍,这里分享一个第三方的负载均衡模块nginx-upstream-fair。 模块介绍 The Nginx ...

linjin200
2018/07/19
98
0
分布式学习(3) ---- 初识Nginx

Nginx两大作用:1.轻量web容器 2.反向代理服务器。 在Java领域中,Nginx更多的被用作在前端提供负载均衡的反向代理服务。 所以本文仅简要介绍下反向代理概念和负载均衡的实现。 . 反向代理 ...

KKys
2017/02/06
0
0
Nginx安装负载均衡配置 fair check扩展

Nginx安装负载均衡配置 fair check扩展 前言 本文主要是针对Nginx安装、负载均衡配置,以及fair智能选举、check后端节点检查扩展功能如何扩展,进行讲解说明。 fair模块: upstream-fair,“...

linjin200
2018/07/19
170
0
NGINX负载均衡

(1)lb配置 配置文件内容 [root@lb conf]# cat nginx.conf worker_processes ; events { worker_connections ; } http { include mime.types; default_type application/octet-stream; send......

rewiner22
2017/03/08
0
0
nginx学习之反向代理负载均衡

nginx是一款很强大的http和反向代理服务器。它的功能非常强大。 并不是一开始就需要负载均衡集群,当网络流量不断增长,单个处理单元无法满足负载请求时,网络应用流量将要出现瓶颈时,负载均...

yaoruixue
2017/07/14
0
0

没有更多内容

加载失败,请刷新页面

加载更多

前端技术之:Prisma Demo服务部署过程记录

安装前提条件: 1、已经安装了docker运行环境 2、以下命令执行记录发生在MackBook环境 3、已经安装了PostgreSQL(我使用的是11版本) 4、Node开发运行环境可以正常工作 首先需要通过Node包管...

popgis
今天
5
0
数组和链表

数组 链表 技巧一:掌握链表,想轻松写出正确的链表代码,需要理解指针获引用的含义: 对指针的理解,记住下面的这句话就可以了: 将某个变量赋值给指针,实际上就是将这个变量的地址赋值给指...

code-ortaerc
今天
4
0
栈-链式(c/c++实现)

上次说“栈是在线性表演变而来的,线性表很自由,想往哪里插数据就往哪里插数据,想删哪数据就删哪数据...。但给线性表一些限制呢,就没那么自由了,把线性表的三边封起来就变成了栈,栈只能...

白客C
今天
43
0
Mybatis Plus service

/** * @author beth * @data 2019-10-20 23:34 */@RunWith(SpringRunner.class)@SpringBootTestpublic class ServiceTest { @Autowired private IUserInfoService iUserInfoS......

一个yuanbeth
今天
5
0
php7-internal 7 zval的操作

## 7.7 zval的操作 扩展中经常会用到各种类型的zval,PHP提供了很多宏用于不同类型zval的操作,尽管我们也可以自己操作zval,但这并不是一个好习惯,因为zval有很多其它用途的标识,如果自己...

冻结not
昨天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部