码迷,mamicode.com
首页 > 其他好文 > 详细

动态管理nginx负载均衡

时间:2015-09-21 16:06:50      阅读:210      评论:0      收藏:0      [点我收藏+]

标签:


0. 负载均衡是什么?

nginx负载均衡是个强大的功能,提供多种策略(round robin, ip_hash, least_conn等),将请求分发到后端的服务器,从而起到服务器负载均衡的效果。先来看下如何使用。

1. 最简单的例子:

upstream backend {

    server backend1.example.com       weight=5;

    server backend2.example.com:8080;

    server unix:/tmp/backend3;

    server backup1.example.com:8080   backup;

    server backup2.example.com:8080   backup;

}


server {

    location / {

        proxy_pass http://backend;

    }

}

2. 内部结构

从上面的例子中,可以看出。nginx可以定义多个upstream,每个upstream有自己的名称。一个upstream包含多个server。每个server对应后端的某台服务器。server可以是域名,也可以是addr。nginx在配置解析完成后,server都会解析成addr。所以可以描述成这样,{} 表示多个。

nginx      -> { upstream }

upstream   -> { server }

server     -> ip:port

更多细节参考: http://nginx.org/en/docs/http/ngx_http_upstream_module.html

3. 如何动态管理?

fly是动态管理upstream的模块,使用简单方便。在线演示: http://nglua.com/fly

a)配置

upstream a-backend {
    zone  fly  128k;
   192.168.1.101:81;
    192.168.1.101:82;
    192.168.1.101:83;
}

upstream b-backend {
    zone  fly  128k;
   192.168.1.102:81;
    192.168.1.102:82;
    192.168.1.102:83;
}

server {

  location /fly {
      fly  on;
  }

  location /assets {
      alias  html/fly;
  }

}

b)安装fly模块
> wget http://nglua.com/download/nglua-fly.tar.gz && tar zxvf nglua-fly.tar.gz
> ./configure --add-module=nglua-fly/nginx-http-fly-module && make
> cp -R nglua-fly/html/fly > {dir}/html

4. 欢迎交流

动态管理nginx负载均衡

标签:

原文地址:http://my.oschina.net/fqing/blog/509097

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!