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,负载均衡)