文章

Nginx高可用配置

Nginx高可用

nginx的高可用配置的解决方案和配置方法

高可用的意义:

当用户请求到我们的 nginx 服务器的时候,nginx 服务器会反向代理。把用户的请求带给后端服务器,那如果这台 nginx 服务器突然出现宕机不可用了。
如何在不加机器的情况下,还能做到两台机器能够动态的切换。

image-20240325172033585

keepalived不需要额外再加一台机器,
两台机器上的keepalive的互相通讯来互相检测对方有没有挂掉?这两台机器同时对外提供服务,

我们给虚拟出来一个 IP 地址。叫 virtual IP,网卡上可以配置好多 IP 地址,那么这个 VIP 地址就是由 keepalive
来管理的,这个就是 keepalived的 IP 漂移。

安装Keepalived

编译安装

下载地址

https://www.keepalived.org/download.html#

使用 ./configure 编译安装

如遇报错提示

configure: error:

!!! OpenSSL is not properly installed on your system. !!!

!!! Can not include OpenSSL headers files. !!!

安装依赖

yum install openssl-devel

yum安装

yum install keepalived

配置

使用yum安装后配置文件在

/etc/keepalived/keepalived.conf

最小配置

第一台机器

! Configuration File for keepalived

global_defs {
	router_id lb111
}

vrrp_instance atguigu {
	state MASTER
	interface ens33
	virtual_router_id 51priority 100
	advert_int 1
	authentication {
		auth_type PASS
		auth_pass 1111
	}
	virtual_ipaddress {
		192.168.88.200
	}

}

第二台机器

! Configuration File for keepalived

global_defs {
  
   router_id lb161 # 
}

vrrp_instance clouddz { # 内网通讯协议
    state MASTER   
    interface ens33  #机器网卡的名称
    virtual_router_id 51
    priority 100 #优先级
    advert_int 1 # 检测间隔时间
    authentication { # 同一组的认证配置
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress { # 虚拟ip地址
        192.168.88.200
    }
}

# instance virtual_router_id authentication 需要一致

启动服务

systemctl start keepalived

image-20240325173322554

image-20240325173406248

可以看到ens33绑定了虚拟ip,备用机器网卡没有

将master节点挂掉

image-20240325173514752

可以看到vip漂移到备用机器网卡上。

License:  CC BY 4.0