zoukankan      html  css  js  c++  java
  • Nginx与keepalived实现高可用

    主keepalived设置

    #安装keepalived
    [root@localhost ~]# yum -y install keepalived
    #安装nginx
    [root@localhost ~]# yum -y install nginx
    ——————————————————————————————————
    #keepalived配置文件
    [root@localhost ~]# vim /etc/keepalived/keepalived.conf 
    ! Configuration File for keepalived
    
    global_defs {
       notification_email {
         acassen@firewall.loc
         failover@firewall.loc
         sysadmin@firewall.loc
       }
       notification_email_from Alexandre.Cassen@firewall.loc
       smtp_server 192.168.200.1
       smtp_connect_timeout 30
       router_id LVS_DEVEL
       vrrp_skip_check_adv_addr
       vrrp_strict
       vrrp_garp_interval 0
       vrrp_gna_interval 0
    }
    
    vrrp_script check_nginx {  #引入脚本文件
        script "/shell/nginx_check.sh"
        interval 2
        weight -20
    }
    
    vrrp_instance VI_1 {
        state MASTER   #主
        interface eno16777728 #心跳网卡
        virtual_router_id 51
        priority 100 #优先级
        advert_int 1
        authentication {
            auth_type PASS
            auth_pass 1111
        }
        virtual_ipaddress {
            192.168.200.201
        }
        track_script {
        check_nginx     #引用脚本
        }
    }
    ______________________________________________________
    #装备测试文件
    [root@localhost ~]# echo "1111111" > /usr/share/nginx/html/index.html

    从keepalived设置

    #安装keepalived
    [root@localhost ~]# yum -y install keepalived
    #安装nginx
    [root@localhost ~]# yum -y install nginx
    ______________________________________________________________
    #keepalived配置文件
    [root@localhost ~]# vim /etc/keepalived/keepalived.conf 
    ! Configuration File for keepalived
    
    global_defs {
       notification_email {
         acassen@firewall.loc
         failover@firewall.loc
         sysadmin@firewall.loc
       }
       notification_email_from Alexandre.Cassen@firewall.loc
       smtp_server 192.168.200.1
       smtp_connect_timeout 30
       router_id LVS_DEVEL
       vrrp_skip_check_adv_addr
       vrrp_strict
       vrrp_garp_interval 0
       vrrp_gna_interval 0
    }
    
    vrrp_script check_nginx {
        script "/shell/nginx_check.sh"
        interval 2
        weight -20
    }
    
    vrrp_instance VI_1 {
        state BACKUP
        interface eno16777728
        virtual_router_id 51
        priority 90
        advert_int 1
        authentication {
            auth_type PASS
            auth_pass 1111
        }
        virtual_ipaddress {
            192.168.200.201
        }
        track_script {
        check_nginx    
        }
    }
    
    ———————————————————————————————————
    #准备测试文件
    [root@localhost ~]# echo "22222" > /usr/share/nginx/html/index.html

    三、测试
    主服务器工作时
    在这里插入图片描述
    从服务器工作时
    在这里插入图片描述

    四、nginx_check.sh shell文件,配置为周期性任务

    #!/bin/bash
    count="$(ps -C nginx --no-header|wc -l)"
    
    if [ $count -eq 0 ];then
            systemctl restart nginx
            sleep 2
            if [ ps -c nginx --no-header|wc -l -eq 0 ];then
                    systemctl stop keepalived
            fi
    fi
    #给脚本加执行权限
    chmod +x /shell/nginx_check.sh
  • 相关阅读:
    Django学习路10_创建一个新的数据库,指定列名并修改表名
    设计模式_单例模式的懒汉式实例化
    设计模式_理解单例设计模式
    Django学习路9_流程复习
    Django学习路8_学生表和班级表级联并相互查询信息
    Django学习路7_注册app到能够在页面上显示app网页内容
    es6基础:类、继承、重写
    简单的下拉刷新
    callback&&callback()
    转 五大浏览器四大内核
  • 原文地址:https://www.cnblogs.com/canflyfish/p/11634958.html
Copyright © 2011-2022 走看看