• <tt id="0muie"><acronym id="0muie"></acronym></tt>
  • 系統城裝機大師 - 固鎮縣祥瑞電腦科技銷售部宣傳站!

    當前位置:首頁 > server > anz > 詳細頁面

    keepalived + nginx 實現高可用方案

    時間:2022-12-15來源:www.djmaza-info.com作者:電腦系統城

    本篇主要介紹一下 keepalived + nginx 來實現 對于nginx的高可用, 還是簡單的主備模式

    1.概述

    前面有了解keepalived 的主備的基本使用, 但是那種是針對宕機等情況 停止了keepalived 的進程實現的 vip的漂移,本篇把keepalived 添加校驗nginx存活腳本 實現針對nginx的監控, 實現nginx的高可用

    2.準備工作

    準備2臺機器 , 把111定義為 keepalived 的 MASTER 節點

    ip keepalived
    172.16.225.111 MASTER
    172.16.225.110 BACKUP

    分別在2臺服務器上配置好nginx 并且修改默認的 index.html 添加上 ip 標識方便區分. 如下:

    3.配置 keepalived

    在keepalived 的配置文件中的 instance 里面配置 track_script 指定 檢查nginx是否存活的腳本

    3.1 master (172.16.225.111)

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    ! Configuration File for keepalived
     
    global_defs {
       router_id LB111
    }
     
    vrrp_script chk_nginx {
       # 具體的腳本
       script "/etc/keepalived/nginx_check.sh"
       interval 2 # 2s執行一次
       weight -20 # 失敗一次 則優先級 -20
    }
     
    vrrp_instance VI_1 {
        state MASTER
        interface ens160
        virtual_router_id 51
        priority 100
        advert_int 1
        authentication {
            auth_type PASS
            auth_pass 1111
        }
        virtual_ipaddress {
            172.16.225.200
        }
        # 指定腳本
        track_script {
          chk_nginx
        }
    }

    3.2 master (172.16.225.110)

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    ! Configuration File for keepalived
     
    global_defs {
       router_id LB111
    }
     
    vrrp_script chk_nginx {
       script "/etc/keepalived/nginx_check.sh"
       interval 2
       weight -20
    }
     
    vrrp_instance VI_1 {
        state BACKUP
        interface ens160
        virtual_router_id 51
        priority 90
        advert_int 1
        authentication {
            auth_type PASS
            auth_pass 1111
        }
        virtual_ipaddress {
           172.16.225.200
        }
     
        track_scrip {
          chk_nginx
        }
    }

    4.配置 nginx_check.sh

    主要是這個腳本 這個腳本的內容就是 通過ps命令檢查 nginx進程是否存活 ,如果不存活 則嘗試啟動一次 則檢查 ,如果還是啟動不起來 則 把keepalived 關閉, 從而讓 keepalived 能檢測到 并且 vip 能夠漂移到其他機器

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    #!/bin/bash
    status=$(ps -C nginx --no-heading|wc -l)
    if [ "${status}" = "0" ]; then
                # 嘗試啟動一次
                systemctl start nginx
            # 再次檢查ngixn 進程
            status2=$(ps -C nginx --no-heading|wc -l)
            if [ "${status2}" = "0"  ]; then
                    # 關閉 keepalived
                    systemctl stop keepalived
            fi
    fi

    需要在2臺機器上都配置上這個腳本

    1
    2
    # 給腳本一個 可執行的權限
    chmode +x /etc/keepalived/nginx_check.sh
    1
    2
    # 重啟或者啟動 keepalived
    systemctl restart keepalived

    5.關閉 selinux

    如果重啟后或者啟動后 查看日志有如下拋錯 , 則是 selinux 沒有關閉

    1
    2
    3
    4
    5
    # 臨時關閉
    setenforce 0
     
    #永久關閉
    sed -i 's/SELINUX=enforcing/\SELINUX=disabled/' /etc/selinux/config

    6.模擬測試

    2臺機器 分別啟動nginx 和 keepalived 后

    訪問 vip 172.16.225.200 這個vip 目前在 111 master機器上

    在master機器上 把ngixn關閉

    1
    2
    # 關閉 nginx
    ./nginx -s stop
    1
    2
    3
    4
    5
    6
    # 此時查看 keepalived 的狀態就是 dead了
    systemctl status keepalived
     
    ● keepalived.service - LVS and VRRP High Availability Monitor
       Loaded: loaded (/usr/lib/systemd/system/keepalived.service; disabled; vendor preset: disabled)
       Active: inactive (dead)

    再次訪問vip 172.16.225.200 , 可以看到 vip 已經跑到了 backup機器110上了

    總結

    本篇主要介紹了 keepalived + nginx 的基本的主備配置 實現了 nginx 的高可用,核心點就是配置 nginx_check.sh腳本給keepalived 的執行, 這個nginx_check.sh 腳本內如果發現nginx 不存活 嘗試啟動 如果還是不存活 則直接關閉 keepalived 進程

    分享到:

    相關信息

    系統教程欄目

    欄目熱門教程

    人氣教程排行

    站長推薦

    熱門系統下載

    人人透人人躁人人躁看_人人网在线观看国产_人人做人人爱超碰首页 <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <文本链> <文本链> <文本链> <文本链> <文本链> <文本链>