• Keepalived+Nginx 高可用集群


    一、准备工作

    • 需要两台服务器 192.168.17.129 和 192.168.17.131
    • 在两台服务器安装 nginx
    • 在两台服务器安装 keepalived

    在两台服务器安装 keepalived

    (1) 使用 yum 命令进行安装

    yum install keepalived –y

    (2)安装之后,在 etc 里面生成目录 keepalived,有文件 keepalived.conf

    二、配置(主从配置)

    (1)修改/etc/keepalived/keepalivec.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.17.129
        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 BACKUP # 备份服务器上将 MASTER 改为 BACKUP
        interface ens33 //网卡
        virtual_router_id 51 # 主、备机的 virtual_router_id 必须相同
        priority 90 # 主、备机取不同的优先级,主机值较大,备份机值较小
        advert_int 1
        authentication {
            auth_type PASS
            auth_pass 1111
        }
        virtual_ipaddress {
            192.168.17.50 // VRRP H 虚拟地址
        }
    }

    (2)在/usr/local/src 添加检测脚本

    #!/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

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

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

    三、测试

    (1)在浏览器地址栏输入 虚拟 ip 地址 192.168.17.50

     

    (2)把主服务器(192.168.17.129) nginx 和 keepalived 停止,再输入 192.168.17.50

  • 相关阅读:
    C# tcp发送十六进制数据
    WPF中通过AForge实现USB摄像头拍照
    借鉴过的别人的帖子之C#篇
    C# 连续的语音识别
    C# NAudio 录音
    AS3 水波纹
    ARM多核心集群服务器
    RK3399Pro Android Rock-X 人工智能开发系列(2)
    智能化连锁门店解决方案
    RK3399Pro Android Rock-X 人工智能开发系列(1)
  • 原文地址:https://www.cnblogs.com/jwen1994/p/14230680.html
Copyright © 2020-2023  润新知