zoukankan      html  css  js  c++  java
  • Nginx负载均衡配置实例

    面对高并发的问题,企业往往会从两个方面来解决。其一,从硬件上面,提升硬件的配置,增加服务器的性能;另外,就是从软件上,将数据库和WEB服务器分离,使数据库和WEB服务器都能够充分发挥各自的性能,并且二者不相互影响。然而,这样还不够,一台WEB服务器可能无法承受太高的并发请求。那么负载均衡技术就应运而生,下面我们就来谈谈如何用Nginx进行负载均衡。

    查看原文更多惊喜

    负载均衡的作用

    1.转发

    转发是负载均衡的核心功能,它能够根据一定的算法,将客户端请求转发到不同应用服务器,缓解每台服务器的压力,提高并发量。

    2.移除故障

    当其中一台服务器发生故障时,会被移出轮询队列,客户端请求将会发送到其他几台正常的服务器,不会影响客户端的访问。

    3.恢复添加

    当故障的服务器恢复时,会自动被加到轮询队列,继续处理客户端请求。

    image

    Nginx配置

    轮询

    如下是Nginx的基本配置,upstream配置要负载的节点。nodes可以自己取,要跟server中proxy_pass的nodes一致。
    server_name可以是Nginx服务器的ip地址,也可以是域名,根据具体情况配置即可,listen为端口号。

    upstream nodes {  
        server 192.168.1.11;  
        server 192.168.1.12;  
        }   
      
     server {  
            listen       80;  
            server_name  127.0.0.1;  
            #charset koi8-r;  
            #access_log  logs/host.access.log  main;  
            location / {  
                proxy_pass   http://nodes;  
                index  index.html index.htm;  
            }  
         }
    

    使用以上配置,默认采用轮询的分发策略,即每个请求按时间顺序逐一分配到不同的应用服务器,如果应用服务器down掉,自动剔除,剩下的继续轮询。

    权重

    如果需要为每个请求节点配置不同的权重,可以在地址后面增加权重,配置如下

    upstream nodes {  
        server 192.168.1.11 weight=4;  
        server 192.168.1.12;  
        }  
    

    通过配置权重,指定轮询几率,权重和访问比率成正比,用于应用服务器性能不均的情况。weight默认为1,weight越大,负载的权重就越大。

    IP哈希算法

    还有一种策略是IP哈希算法,请求按访问ip的hash结果分配,这样每个IP固定访问一个应用服务器,可以解决session共享的问题,配置如下

    upstream nodes {  
        ip_hash; 
        server 192.168.1.11;  
        server 192.168.1.12;  
        }   
    

    其他

    upstream中还有其他几个常用的配置项:
    down: 表示当前的server不參与负载均衡
    max_fails: 允许请求失败的次数默认为1.当超过最大次数时,返回proxy_next_upstream 模块定义的错误
    fail_timeout: max_fails次失败后,暂停请求此台服务器的时间
    backup: 其他全部的非backup机器down或者忙的时候,请求backup机器。所以这台机器压力会最轻

    upstream nodes {  
        server 192.168.1.11 down;  
        server 192.168.1.12 backup;  
        server 192.168.1.13;
        }   
    

    以上就是Nginx的一些基本配置,能够满足基本的使用,大家可以动手测试一下。
    下载地址:https://nginx.org/en/download.html,下载后解压即可。配置文件为conf/nginx.conf,修改好配置文件后双击nginx.exe启动。

  • 相关阅读:
    小米手机miui8.5连接电脑
    js数组map方法
    wxui入门
    动画函数封装
    系列属性(offset、scroll、client)
    定时器( setInterval和 setTimeout)
    BOM(浏览器对象模型)
    事件(绑定、解绑、冒泡)
    元素(element)创建
    节点(node)操作
  • 原文地址:https://www.cnblogs.com/codernice/p/11635205.html
Copyright © 2011-2022 走看看