Nginx集群搭建学习心得(入门)

nginx安装以及注册nginx为系统服务:linux 系统下四种nginx安装方法_linux安装nginx-CSDN博客

keepalived安装以及注册nginx为系统服务:Keepalived - linux 安装&配置&启动_keepalived启动服务-CSDN博客

介绍

  1. 现在我有这样一个需求:在搭建nginx集群的时候,为了不向外界暴露不必要的代理ip地址和希望用户只访问一个url或一类url就可以得到相同的服务,那么可以在nginx代理之前加一个虚拟ip实现再代理,如图,那么用户只需要访问192.168.107.80就能将请求转发到其他的代理服务器上。

  2. ip配置信息

    虚拟代理ip

    代理1(master)

    代理2(backup)

    192.168.107.80

    192.168.107.3

    192.168.107.33

keepalived介绍

为了能检测两个代理的状态,这里引入了keepalived作为心跳检测,它的好处是:

  1. 健康检查监控节点状态,当主节点出现故障时从结点可以转换为主节点。

  2. 负载均衡:将请求分配到多个服务器上。

keepalived.conf配置

#这里我把192.168.107.3设为主节点
global_defs {
   #节点标识符
   router_id k1

}

vrrp_instance VI_1 {
    #节点身份
    state MASTER
    #网段
    interface ens33
    virtual_router_id 51
    #优先级
    priority 100
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    #指定的虚拟ip
    virtual_ipaddress {
        192.168.107.80
    }
}

virtual_server 192.168.200.100 443 {
    delay_loop 6
    lb_algo rr
    lb_kind NAT
    persistence_timeout 50
    protocol TCP

    real_server 192.168.201.100 443 {
        weight 1
        SSL_GET {
            url {
              path /
              digest ff20ad2481f97b1754ef3e12ecd3a9cc
            }
            url {
              path /mrtg/
              digest 9b3a0c85a887a256d6939da88aabd8cd
            }
            connect_timeout 3
            retry 3
            delay_before_retry 3
        }
    }
}

(在root权限下)启动keepalived,以下是主节点信息,可以看到虚拟ip192.168.107.80

备份节点信息,如图

现在通过kill进程来模拟192.168.107.3这台代理服务器发生故障

查看备份节点192.168.107.33的网段信息可以看到,虚拟代理ip信息;这样当主节点发生故障的时候,请求就会被分发到备份节点上。


Nginx集群搭建学习心得(入门)
http://localhost:8090//archives/nginxji-qun-da-jian
作者
LinWJ
发布于
2024年08月11日
许可协议