1.通过反向代理来配置负载均衡服务器,

 

upstream zhuzhu {
server 192.168.70.133 weight=3    max_fails=3 fail_timeout=20s;
server 192.168.70.135:80 weight=1 max_fails=3 fail_timeout=20s;
server 172.16.10.100:80  weight=4 max fails=3 fail_timeout=20s;
}

 

upstream 是nginx的HTTP Upstream模块,该模块通过调度算法来实现客户IP到后端服务器的负载均衡,并可以对后端服务器进行健康检查。

zhuzhu :是负载均衡器的名字,可以随意的命名,在下文用到时直接调用。

server :该指令指定后端服务器的ip地址和端口(若端口为80时可以不写);服务器的名称可以是一个域名,一个IP地址,或UNIXSocket。

在后端服务器的名称之后可以跟的参数有:

weight=number :设置服务器的权重,数值越高,被分配到到客户端请求数越多,如果没有设置权重,则为默认权重1.

max_fails=number :在参数fail_timeout指定的时间内对后端服务器请求失败的次数,如果监测到后端服务器无法连接及发送服务器错误(404除外)则标记为失败,如果没有设置,默认值为1 ,若设置为0将关闭这项检查。

fail_timeout=time :在经历max_fails设置的失败次数后,暂停的时间

down :标记服务器为永久离线状态,用于ip_hash指令

backup :预留的备份机器,当其他所有的非备份机器出现故障或忙的时候,才会请求backup机器

nginx负载均衡模块目前支持的4种调度算法:

轮询(默认)每个请求按时间顺序逐一分配到不同的后端服务器,如果后端某台服务器宕机,故障系统被自动剔除,使用户访问不受影响

weight :指定轮询的权值。weight值越大,分配的访问机率越高,主要用于后端每个服务器性能不平均的情况下

ip_hash :每个请求按访问ip的hash结果分配,来自同一ip的访问固定访问同一个后端服务器

fair :根绝页面大小和加载时间长短智能的进行负载均衡,也就是根据后端服务器的响应时间来分配请求,响应时间短的优先分配,nginx本身不支持fair的,如果需要使用这种调度算法,必须下载nginx的upstream_fair 模块

 

 

upstream zhuzhu {
ip_hash;
server 192.168.70.133     max_fails=3 fail_timeout=20s;
server 192.168.70.135:80  max_fails=3 fail_timeout=20s;
server 172.16.10.100:80   max fails=3 fail_timeout=20s;
}