Nginx做负载均衡

Nginx做负载均衡

贴个图,就差不多看懂了。

https://qnimg.ffing.cn/wp-content/uploads/2021/08/image-97.png?imageView2/0/q/75|watermark/1/image/aHR0cHM6Ly9xbmltZy5mZmluZy5jbi9mbl9sb2dvLnBuZw==/dissolve/55/gravity/SouthEast/dx/0/dy/0

说简单点,原来nginx仅指向本地一个单站点,而现在指向负载集群。

编辑站点conf文件实现负载均衡。

1.定义负载集群

upstream <集群名称> {
server <web1>;
server <wer2>;
server <web3>;
server <werb...>;
}

2.nginx 做反代

location / {
proxy_pass http://<集群名称>;
#如果服务器要获取客户端真实IP,可以用下三句设置主机头和客户端真实地址
#proxy_set_header Host $host;
#proxy_set_header X-Real-IP $remote_addr;
#proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}

3.其他参数

weight :负载轮询权重,默认都为1省略,值越大越容易被访问,通常用于资源不等的服务器。

下例中:客户访问server顺序:web1、web2、web2、web3、web3、web3。

upstream <集群名称> {
server <web1> Weight=1;
server <wer2> Weight=2;
server <web3> Weight=3;
}

ip_hash:客户端第一次访问哪个server,后期就一直访问这个server,有效解决session问题。

upstream <集群名称> {
server <web1> Weight=1;
server <wer2> Weight=2;
server <web3> Weight=3;
ip_hash;
}

down:表示这个server不参与负载

下例中:web1不再参与负载

upstream <集群名称> {
server <web1> Weight=1 down;
server <wer2> Weight=2;
server <web3> Weight=3;
ip_hash;
}

backup:表示中个server作为备用,平时不参与负载,当某个server故障时,才会请求backup的server。

下例中:web3只有在web1或web2故障或忙碌时才会响应。

upstream <集群名称> {
server <web1> Weight=1;
server <wer2> Weight=2;
server <web3> Weight=3 backup;
ip_hash;
}
good good study, day day up!

发表评论

textsms
account_circle
email

Nginx做负载均衡
贴个图,就差不多看懂了。 说简单点,原来nginx仅指向本地一个单站点,而现在指向负载集群。 编辑站点conf文件实现负载均衡。 1.定义负载集群 upstream <集群名称…
扫描二维码继续阅读
2021-08-29