由于只有一台服务器,只能在主机上配置三台虚拟站点分别是
127.0.0.1:80
127.0.0.1:9091
127.0.0.1:9092
然后以80端口服务为节点分别转发到9091端口和9092端口的站点上去
1、在80端口配置文件的http内配置
http{
#加上下面代码
upstream myServer {
server 127.0.0.1:9091 ;
server 127.0.0.1:9092 ;
}
}
2、在需要使用负载的Server节点下添加
location /{
proxy_pass http://myServer;
proxy_connect_timeout 1;
}
诠释:
upstream myServer {
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.weight越大,负载的权重就越大。
max_fails :允许请求失败的次数默认为1.当超过最大次数时,返回proxy_next_upstream 模块定义的错误
fail_timeout:max_fails 次失败后,暂停的时间。
backup: 其它所有的非backup机器down或者忙的时候,请求backup机器。所以这台机器压力会最轻。
proxy_connect_timeout 1;这条记录表示超时1s即转发到其他服务器请求,也可以应对某台服务器宕机情况,不影响客户体验
另:为了实现高可用反向代理实现集群部署,可用使用keepalived监听多台反向代理服务器
参考文章:https://blog.youkuaiyun.com/u013144287/article/details/78553496