Keepalived+Nginx 高可用集群(主从模式)

一、原理图分析

在这里插入图片描述

二、准备工作

1、需要两台服务器 192.168.211.25 和 192.168.211.35

在这里插入图片描述
克隆后的虚拟机,修改IP地址即可。

2、在两台服务器安装 nginx

3、在两台服务器安装 keepalived

使用 yum 命令进行安装 yum install keepalived –y
在这里插入图片描述
在这里插入图片描述
安装之后,在 etc 里面生成目录 keepalived,有文件 keepalived.conf。
在这里插入图片描述

三、完成高可用配置

1、主服务器配置

修改keepalived.conf

global_defs {
 notification_email {
		 [email protected]
		 [email protected]
		 [email protected]
	}
	 notification_email_from [email protected]
	 smtp_server 192.168.211.25
	 smtp_connect_timeout 30
	 router_id LVS_DEVEL
}
vrrp_script chk_http_port {
	 script "/usr/local/src/nginx_check.sh"
	 interval 2 	#(检测脚本执行的间隔)
	 weight 2
}
vrrp_instance VI_1 {
	 state MASTER 	# 备份服务器上将 MASTER 改为 BACKUP
	 interface ens33 	// 网卡
	 virtual_router_id 51 # 主、备机的 virtual_router_id 必须相同
	 priority 100 	# 主、备机取不同的优先级,主机值较大,备份机值较小
	 advert_int 1
	 authentication {
		 auth_type PASS
		 auth_pass 1111
	}
	virtual_ipaddress {
		192.168.211.50 // VRRP H 虚拟地址
	}
}

在/usr/local/src 添加检测脚本nginx_check.sh

#!/bin/bash
A=`ps -C nginx –no-header |wc -l`
if [ $A -eq 0 ];then
    /usr/local/nginx/sbin/nginx
    sleep 2
    if [ `ps -C nginx --no-header |wc -l` -eq 0 ];then
        killall keepalived
    fi
fi

2、从服务器配置

修改keepalived.conf
在这里插入图片描述
在/usr/local/src 添加检测脚本nginx_check.sh(同主服务器)

3、把两台服务器上 nginx 和 keepalived 启动

启动 nginx:./nginx
启动 keepalived:systemctl start keepalived.service

四、测试结果

正常情况下,我们访问地址192.168.211.50
在这里插入图片描述
停止主服务器的Nginx和keepalived。测试结果
在这里插入图片描述
此时我们仍然可以访问地址192.168.211.50
在这里插入图片描述

发布了135 篇原创文章 · 获赞 41 · 访问量 4247

猜你喜欢

转载自blog.csdn.net/weixin_41842236/article/details/105459015