1. 首页>
  2. 技术文章>
  3. nginx做负载均衡

nginx做负载均衡

6/23/18 11:58:07 AM 浏览 2158 评论 0

nginx 负载均衡

不管反向代理还是负载均衡,nginx都是很好的选择,因其使用方便,简单易用,从http://nginx.org/en/download.html下载一个windows的版本,解压之后,在cmd命令行定位到解压后找到nginx.exe直接使用:

start nginx

如果报错,先尝试看下IIS的80端口是不是被某个站点用了,停掉这个站点。

使用一下常用的命令方便使用:

1)重新加载配置

nginx.exe -s reload

2) 重新加载配置无效,那么杀掉nginx进程 ,再重启。

taskkill /f /t /im nginx.exe

下面我们模拟,用户请求的时候,随机访问IIS的81,82,83端口的站点,打开nginx.conf,

1) 在http节点加入:

upstream mysvr { 

      server  127.0.0.1:81; 

      server  127.0.0.1:82;

      server  127.0.0.1:83;  

}

  #nginx 的 upstream 支持 几 种方式的分配
    #1)、轮询(默认) 每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。
    #2)、weight 指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况。 跟上面样,指定了权重。
    #3)、ip_hash 每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session的问题。 
    #4)、fair      
    #5)、url_hash #Urlhash

所以还可以这么设置:

 upstream mysvr {
      ip_hash;
       
      #weigth参数表示权值,权值越高被分配到的几率越大   

      #1.down 表示单前的server暂时不参与负载

      #2.weight 默认为1.weight越大,负载的权重就越大。     

      #3.backup: 其它所有的非backup机器down或者忙的时候,请求backup机器。所以这台机器压力会最轻。  

      #server 127.0.0.1  down;

      #server 127.0.0.1  backup;

      server 127.0.0.1:81  weight=1;

      server 127.0.0.1:82  weight=2;

    }

这里的mysvr是与server节点的location中的proxy_pass对应,如下:

location / {

     proxy_pass   ;

     root   html;

     index  index.html index.htm;

}

网友讨论