Nginx的集群与负载均衡

Posted 张志翔 ̮

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Nginx的集群与负载均衡相关的知识,希望对你有一定的参考价值。

一、集群

        就是同一个业务部署在不同的服务器上。

1、启动多个Web服务器

http://127.0.0.1:9001
http://127.0.0.1:9002
http://127.0.0.1:9003
http://127.0.0.1:9004

 2、更改nginx.conf配置

        进入nginx/conf目录,找到nginx.conf文件进行配置。

        ⑴ 在http节点中间添加upstream配置

Upstream phpCluster
    Server 127.0.0.1:9001
    Server 127.0.0.1:9002
    Server 127.0.0.1:9003
    Server 127.0.0.1:9004

        ⑵ 在location中,添加proxy_pass配置反向代理

Location / 
    Proxy_pass http://PHPCluster

        启动nginx即可实现4个web服务器的集群。

二、负载均衡

  就是将服务器收到的请求安装指定规则进行转发的过程。常见的策略如下:

  ⑴ 轮询

  这是nginx的默认策略,每个请求按顺序逐一分配到不同的服务器,如果服务器down了那么自动删除并跳过。

  ⑵ 指定轮询几率

Upstream PHPCluster
    Server 127.0.0.1:9001 weight=1;
    Server 127.0.0.1:9002 weight=1;
    Server 127.0.0.1:9003 weight=7;性能好的服务器,数字越大,收到的请求概率大
    Server 127.0.0.1:9004 weight=1;

        如果不指定weight值,那么各个服务器的weight值相同。

  ⑶ IP_Hash

  每个请求按照IP地址的hash值来分配接收的服务器,来自同一IP的请求会被分发到同一个服器去处理,可以与指定轮询几率的策略一起使用。

Upstream PHPCluster
    IP_hash;
    Server 127.0.0.1:9001;
    Server 127.0.0.1:9002;
    Server 127.0.0.1:9003;
    Server 127.0.0.1:9004;

以上是关于Nginx的集群与负载均衡的主要内容,如果未能解决你的问题,请参考以下文章

Nginx 负载均衡

Nginx的集群与负载均衡

集群和负载均衡的区别 nginx

Nginx+Tomcat的负载均衡与动静分离集群

Nginx+Tomcat的负载均衡与动静分离集群

mariadb集群与nginx负载均衡配置--centos7版本