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

Laura ·
更新时间:2024-11-14
· 565 次阅读

文章目录一、原理图分析二、准备工作1、需要两台服务器 192.168.211.25 和 192.168.211.352、在两台服务器安装 nginx3、在两台服务器安装 keepalived三、完成高可用配置1、主服务器配置2、从服务器配置3、把两台服务器上 nginx 和 keepalived 启动四、测试结果 一、原理图分析

在这里插入图片描述

二、准备工作 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
在这里插入图片描述


作者:你是锦瑟,我是华年



集群 keepalived 高可用 Nginx

需要 登录 后方可回复, 如果你还没有账号请 注册新账号