通过 upstream 可以设定后端服务器,指定的方式可以是 IP 地址与端口、域名、UNIX 套接字(socket)。其中如果域名可以被解析为多个地址,则这些地址都作为 backend。
upstream backend {
    server lxsym.blog.51cto.com;
    server 192.168.11.68:8080;
    server unix:/tmp/backend3; 
}
upstream模块负载均衡分配方式有:

1、轮询(默认)
每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。

2、weight(常用)
指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况。 
upstream tel_img_stream {
  server 192.168.11.68:20201 weight=100;
  server 192.168.11.69:20201 weight=100;
}

2、ip_hash
每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session的问题。
upstream tel_img_stream {
 #ip_hash;
 server 192.168.11.68:20201;
 server 192.168.11.69:20201 weight=100 down;
 server 192.168.11.70:20201 weight=100;
 server 192.168.11.71:20201 weight=100 backup;
 server 192.168.11.72:20201 weight=100 max_fails=3 fail_timeout=30s;
}

说明:
1).down 表示当前的server暂时不参与负载
2).weight 默认为1.weight越大,负载的权重就越大。
3).backup: 其它所有的非backup机器down或者忙的时候,请求backup机器。所以这台机器压力会最轻。
4).上例中192.168.11.72:20201 设置最大失败次数为 3,也就是最多进行 3 次尝试,且超时时间为 30秒。max_fails 的默认值为 1,fail_timeout 的默认值是 10s。
注意,当upstream中只有一个 server 时,max_fails 和 fail_timeout 参数可能不会起作用。
weight\backup 不能和 ip_hash 关键字一起使用。

3、fair、url_hash暂时不做介绍

最后在需要使用负载均衡的server中增加 proxy_pass http://tel_img_stream/;
获取访问head信息
location ~* ^/tel_img/(.*)$
    {
       proxy_pass http://tel_img_stream;
       proxy_set_header Host $host;
       proxy_set_header X-Forwarded-For $remote_addr;
    }

location 对URL进行匹配.可以进行重定向或者进行新的代理 负载均衡。

若有什么补充可以留言~