Nginx高可用配置
Nginx高可用
nginx的高可用配置的解决方案和配置方法
高可用的意义:
当用户请求到我们的 nginx 服务器的时候,nginx 服务器会反向代理。把用户的请求带给后端服务器,那如果这台 nginx 服务器突然出现宕机不可用了。
如何在不加机器的情况下,还能做到两台机器能够动态的切换。
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
可以看到ens33绑定了虚拟ip,备用机器网卡没有
将master节点挂掉
可以看到vip漂移到备用机器网卡上。
License:
CC BY 4.0