最近有个挺重要的项目,部署上云,为了保险一点,配置一下负载均衡

负载均衡

Web服务器2 遇到宕机、打不开等,Nginx服务器遇到请求会自动把请求发给Web服务器1

直接上配置

将以下配置放入网站的Nginx配置文件

在多个服务器部署项目(单个服务器不同端口也可以,但没有多服务器可靠)

全局配置

以下几种写法

轮询(默认方式)

nginx默认就是轮询其权重都默认为1,服务器处理请求的顺序:ABABABABAB....

默认轮询.png

upstream myact{
      server 121.5.xxx.xxx:9585;
      server 81.68.xxx.xxx:9585;
}

加权轮询

跟据配置的权重的大小而分发给不同服务器不同数量的请求。如果不设置,则默认为1。下面服务器的请求顺序为:ABBABBABBABBABB....

权重轮询.png

upstream myact { 
    server 121.5.xxx.xxx:9585 weight=1;
    server 81.68.xxx.xxx:9585 weight=2;
}

热备

如果你有2台服务器,当一台服务器发生事故时,才启用第二台服务器给提供服务。服务器处理请求的顺序:AAAAAA突然A挂啦,BBBBBBBBBBBBBB.....

upstream myact{
      server 121.5.xxx.xxx:9585;
      server 81.68.xxx.xxx:9585 backup;
}

Ip Hash

ip_hash:nginx会让相同的客户端ip请求相同的服务器。

iphash.jpg

upstream mysvr { 
      server 121.5.xxx.xxx:9585;
      server 81.68.xxx.xxx:9585;
    ip_hash;
}

Location块配置

location / {
      # proxy_ignore_client_abort   on;
      proxy_pass http://myact; #这个名字需要和上面那个一样
      proxy_set_header Host $host;
      proxy_set_header X-Real-IP $remote_addr;
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }

最后修改:2021 年 10 月 02 日
如果觉得我的文章对你有用,请随意赞赏