nginx反向代理负载均衡

 nginx是一个高性能的Http服务器,有两个默认的模块proxy_passupstreamproxy_pass可以很方便的进行反向代理,然后配合upstream可以很方便的实现负载均衡。

    在nginx的根路径下的conf文件夹下的nginx.conf就是我们需要关注的配置文件。

   1. proxy_pass

    在serverlisten指定了服务器的断开,server_name指定了域名,location过滤访问的请求,proxy_pass设置了一个url,意思就是当前反向代理的目标服务器地址。

    所以当我们在本地访问http://localhost:4444的时候,nginx会将我们的请求反向代理到proxy_pass指定的目标服务器。


     2.upstream

    上面的请求都会反向代理到proxy_pass设置的目标服务器上,但如果目标服务器宕机了怎么办?这个时候我们可以设置负责均衡,upstream就可以派上用场了。

    upstream可以设置多台服务器,然后通过proxy_pass指向upstream,从而当我们访问http://localhost:4444的时候,就反向代理到了upstream中的某一台服务器中了。

    而具体是反向代理到upstream中的哪一台服务器,我么可以设置对应的算法。

    i).默认是采用轮询机制,就是采用轮询的方式反向代理;

    ii).设置权重weight,我们可以通过设置weight来指定服务器被访问的权重,权重越大,反向代理过去的机会就越大;

    iii). ip_hash的方式:因为每一个ip对应一个唯一的hash值,这样来自同一个ip的请求会反向代理到特定的某一台机器上。

猜你喜欢

转载自blog.csdn.net/zzy413341422/article/details/80566379