Nginx+keepalived实现高可用负载群集

210 阅读1分钟

一、实现方式

使用Nginx作为负载调度器,通过四层代理转发给web服务器处理请求,实现负载均衡;

在Nginx调度器上配置脚本监控(健康检查),实现主备热备份,当主失效切换至备工作。

二、部署实例

Web 服务器1:192.168.116.10(VIP 192.168.116.100)

Web 服务器2:192.168.116.20(VIP 192.168.116.100)

NFS 共享存储器:192.168.116.30

Nginx+keepalived 主负载调度器:192.168.116.40(VIP 192.168.116.100)

Nginx+keepalived 备负载调度器:192.168.116.30(VIP 192.168.116.100)

网关/路由器:192.168.116.2 客户端:192.168.116.50

1.准备好Web服务器1和2 ,配置好与NFS共享存储器的网页共享

2.配置Nginx主备负载调度器

两台都用yum安装Nginx服务(使用编译安装需要加上--with-stream模块)和keepalived服务

#添加nginx官方yum源
vim /etc/yum.repos.d/nginx.repo 
[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/7/$basearch/
gpgcheck=0
enabled=1

#yum下载
yum install -y nginx

yum install -y keepalived

修改主调度器nginx配置文件

微信截图_20221023194032.png

修改主调度器keepalived配置文件

微信截图_20221023194057.png

编写监控脚本

微信截图_20221023194121.png

在主调度器keepalived的配置中添加指定脚本文件

微信截图_20221023194147.png

将以上配置文件复制到备服务器对应目录下进行修改(nginx配置不变)

微信截图_20221023194248.png

微信截图_20221023194255.png

两边都启动nginx和keepalived服务

systemctl start nginx
systemctl start keepalived

微信截图_20221023194348.png

当主服务器失效(使用关闭nginx服务模拟宕机)

微信截图_20221023194414.png