1.首选准备两台以上服务器
这里以三台虚拟机服务器作为测试
192.168.1.106 (主)
192.168.1.120(分)
192.168.1.125(分)
2.进入192.168.1.106服务起,修改nginx.conf配置文件
在http下加入
upstream test {
server 192.168.1.120:80;
server 192.168.1.125:80;
}
将server节点下的location节点中的proxy_pass配置为:http:// + upstream名称,即“
http://test”.
server可以为域名
这里就是一个简单的负载均衡了,默认为轮询
upstream 的几种加载方式
1.轮询(默认的)
轮询就是上面的方法
2.weight
指定轮询的几率,weight和访问比率成正比,用于后端服务器性能不均的情况
数值可以根据实际服务器的性能修改,性能好的服务器值可以设置为高点
3.ip_hash
每个请求按访问ip的hash结果分配,这样每个客服端都有一个固定的服务器,这样可以解决session的问题
4.fair(第三方)
按照后端服务器响应的时间分配,响应时间短的优先分配
5.url_hash(第三方)
按照url的hash结果来分配请求,使每个url都定向到同一台服务器,后端服务器为缓存的时候比较有效。
其中4和5需要安装第三方的插件来支持
ps
upstream test{ #定义负载均衡设备的Ip及设备状态
ip_hash;
server 127.0.0.1:9090 down;
server 127.0.0.1:8080 weight=2;
server 127.0.0.1:6060;
server 127.0.0.1:7070 backup;
}
down 表示当前的server不参与负载
weight 默认为1 ,值越大,负载的权重也就越大
max_fails 允许请求失败的次数,默认为1 ,当超过最大值时,返回proxy_next_upstream模块定义的错误
fail_timeout :max_fails 次失败后暂停的时间
backup 其他非backup的启动down或者忙的时候,请求转发给这台服务器
转载于:https://my.oschina.net/snxun/blog/1579458