小言_互联网的博客

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

415人阅读  评论(0)

一、原理图分析

二、准备工作

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 {
		 acassen@firewall.loc
		 failover@firewall.loc
		 sysadmin@firewall.loc
	}
	 notification_email_from Alexandre.Cassen@firewall.loc
	 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


转载:https://blog.csdn.net/weixin_41842236/article/details/105459015
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场