美文网首页js css htmlnginx
Linux_327_Nginx负载均衡之upstream语法

Linux_327_Nginx负载均衡之upstream语法

作者: 为宇绸缪 | 来源:发表于2022-12-05 23:46 被阅读0次

    Nginx的负载均衡功能是来自于ngx_http_upstream_module,该模块支持的代理形式有如下
    proxy_pass 转发http请求
    fastcgi_pass
    uwsgi_pass 和python后台结合
    memcached_pass
    该模块作用是允许nginx定义一组,或者多组的服务器节点,在nginx接收到请求的时候,可以通过proxy_pass代理方式,把用户的请求发送到预先定义好的upstream地址池当中
    nginx负载进行地址池的语法定义,通过upstream关键词定义负载均衡池的名字,例如my_web,然后再地址池中通过server关键词定义服务器节点的信息,可以填入ip,域名,以及负载均衡算法的定义
    upstream my_web{
    server 192.168.178.125;
    server 192.168.178.126;
    }
    proxy_pass http://my_web;

    更多的upstream写法
    upstream参数解释
    基本写法如下
    upstream my_web{
    server 192.168.178.125 weight=1 max_fails=1 fail_timeout=10s;
    server www.yuweijie.cn:8000;
    }
    常见参数解释
    server 是一个固定的关键词,后面跟着服务器ip或者是主机名,域名地址,默认是80端口,也可以指定端口转发
    weight 表示定义服务器的权重,权重的数字越大,权重的地位越高,nginx就会优先给与分发请求,注意结尾写分号(;)
    max_fails nginx尝试连接该节点的失败的次数,根据企业情况调整
    backup 当其他非backup的机器挂掉,或者繁忙的时候,请求才会转发给backup机器,因此它是备份机器的效果
    fail_timeout 表示在max_fails参数定义好的连接失败数之后,距离下次检查的时间
    down 剔除,暂停当前节点的请求解析,不参与负载均衡
    注意的是 upstream关键词应该写在nginx.conf中的http{}标签内,并且默认的算法是轮询算法

    完整的upstream案例
    upstream www_pools{
    server 192.168.178.160;
    server 192.168.178.161:88 weight=1 max_fails=1 fail_timeout=10s;
    server 192.168.178.162:90 weight=2 max_fails=2 fail_timeout=20s backup;
    server 192.168.178.162:99 weight=3 max_fails=3 fail_timeout=30s backup;
    }

    使用域名形式,或者unix套接字形式
    nginx请求转发的目的地有两类
    (1)网络中的机器,因此可以填写该机器的ip,域名,端口
    (2)本地的进程,可以使用socekt套接字进程通信文件去转发请求
    upstream my_back{
    server backup1.example.com
    server backup2.example.com:8080 weight=9;
    server unix:/tmp/backend3.sock;
    }

    相关文章

      网友评论

        本文标题:Linux_327_Nginx负载均衡之upstream语法

        本文链接:https://www.haomeiwen.com/subject/cfcwfdtx.html