博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
CentOS7.2 Keepalived + Nginx 实现高可用性
阅读量:5901 次
发布时间:2019-06-19

本文共 2937 字,大约阅读时间需要 9 分钟。

hot3.png

 系统环境:

        操作系统:CentOS7.2

        依赖软件:Keepalived + Nginx

网络环境:

        Zabbix Master:192.168.5.251

        Zabbix Backup:192.168.5.252

Nginx编译

Keepalived Master

! Configuration File for keepalivedglobal_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_script chk_mantaince_down {   script "[[ -f /etc/keepalived/down ]] && exit 1 || exit 0"   interval 1   weight -5}vrrp_script chk_nginx_status {   script "[[ service nginx status | grep -q "active (running)" ]] && exit 0 || exit 1"   interval 1   weight -5}vrrp_instance VI_1 {    state MASTER    interface eno16777736    virtual_router_id 51    priority 100    advert_int 1    authentication {        auth_type PASS        auth_pass 1111    }    virtual_ipaddress {        192.168.5.100/24 label eno16777736:0    }    track_script {        chk_mantaince_down        chk_nginx_status    }    notify_master "/etc/keepalived/notify.sh master"    notify_backup "/etc/keepalived/notify.sh backup"    notify_fault  "/etc/keepalived/notify.sh fault"}

Keepalived BACKUP

! Configuration File for keepalivedglobal_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_script chk_mantaince_down {   script "[[ -f /etc/keepalived/down ]] && exit 1 || exit 0"   interval 1   weight -5}vrrp_script chk_nginx_status {   script "[[ service nginx status | grep -q "active (running)" ]] && exit 0 || exit 1"   interval 1   weight -5}vrrp_instance VI_1 {    state BACKUP    interface eno16777736    virtual_router_id 51    priority 98    advert_int 1    authentication {        auth_type PASS        auth_pass 1111    }    virtual_ipaddress {        192.168.5.100/24 label eno16777736:0    }    track_script {        chk_mantaince_down        chk_nginx_status    }    notify_master "/etc/keepalived/notify.sh master"    notify_backup "/etc/keepalived/notify.sh backup"    notify_fault  "/etc/keepalived/notify.sh fault"}

Notify脚本

# !/bin/bash# Author: MageEdu 
# description: An example of notify script#vip=172.16.100.1contact='root@localhost'notify() {    mailsubject="`hostname` to be $1: $vip floating"    mailbody="`date '+%F %H:%M:%S'`: vrrp transition, `hostname` changed to be $1"    echo $mailbody | mailx -s "$mailsubject" $contact}case "$1" in    master)        notify master        service nginx start        exit 0    ;;    backup)        notify backup        service nginx stop        exit 0    ;;    fault)        notify fault        service nginx stop        exit 0    ;;    *)        echo 'Usage: `basename $0` {master|backup|fault}'        exit 1    ;;esac

转载于:https://my.oschina.net/huangweibin/blog/665417

你可能感兴趣的文章
python使用电子邮件模块smtplib
查看>>
输入两个链表,找出他们的第一个公共节点
查看>>
微信为什么发布 Mac 版?
查看>>
七杀诗
查看>>
判断当前系统用户组是否为超级管理员。.
查看>>
自定义控件系列之应用篇——自定义标题栏控件
查看>>
【转】Python中特殊方法的分类与总结
查看>>
[2018.12.19]动态树LCT
查看>>
隐私政策
查看>>
CocoaPods could not find compatible versions for pod "xxx": In snapshot (Podfile.lock):
查看>>
使用jmeter 设计流程发起测试
查看>>
《大道至简》第四章读后感
查看>>
oracle创建用户授权权限
查看>>
一年前的管理系统开发平台,完全自己设计,带换肤功能
查看>>
创建对象 --- 工厂模式
查看>>
由阿里云宕机引发的思考
查看>>
蓝桥杯C/C++ 带分数
查看>>
在C#调用C++的DLL方法(二)生成托管的DLL
查看>>
关于日期的demoJS
查看>>
利用IDEA构建springboot应用-配置文件
查看>>