keepalived实现双机互备_weixin_34037173的博客-程序员秘密

技术标签: 运维  

网站入口使用nginx来进行代理和缓存,为提供高可用,两个入口机器使用keepalived来进行互备。

需要两个VIP绑定在两个入口代理机器上,vip1在proxy1上为master,vip2在proxy1上为slave。vip1在proxy2上为slave, vip2在proxy2上为master。

当proxy1上服务或机器出现故障时,vip1就自动漂移到proxy2上,在proxy2上有两个vip 和 机器本身的ip。

    #keepalived 配置,检查本机上nginx进程是否存在。

    vrrp_script chk_nginx {
        script "killall -0 nginx"
        interval 2                      # check every 2 seconds
        weight 55                      # add 2 points of prio if OK
    }

master和slave的priority 差值小于脚本中的weight值。

priority 150

这样在master上nginx进程不存在时,slave的priority就会大于master,VIP也就会漂移过去。

! Configuration File for keepalived
global_defs {
    notification_email {
            xxx@
     }   
     notification_email_from xxx@    
     smtp_server 127.0.0.1    
     smtp_connect_timeout 30    
     router_id proxy1
 }
 vrrp_script chk_nginx {
     script "killall -0 nginx"     
     interval 2                      # check every 2 seconds    
     weight 55                       # add 2 points of prio if OK
 }
 vrrp_instance VI_1 {
     state MASTER    
     interface bond0    
     virtual_router_id 71    
     priority 150    advert_int 1    
     authentication {    
         auth_type PASS        
         auth_pass xxx   
     }    
     virtual_ipaddress {    
         x.x.x.x    
     }   
     track_script {    
         chk_nginx  
     }   
     track_interface{        
         bond0            
         bond1    
     }
 }



转载于:https://my.oschina.net/flys/blog/200522

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_34037173/article/details/91514621

智能推荐

spring boot 配置拦截器验证使用 token 登录_weixin_30763397的博客-程序员秘密

1、自定义登录注解package io.xiongdi.annotation;import java.lang.annotation.*;/** * @author wujiaxing * @date 2019-07-12 * 登录校验 */@Target(ElementType.METHOD)@[email protected]...

JVM 垃圾回收器工作原理及使用实例介绍_人生之光荣在于屡仆屡起的博客-程序员秘密

垃圾收集基础Java 语言的一大特点就是可以进行自动垃圾回收处理,而无需开发人员过于关注系统资源,例如内存资源的释放情况。自动垃圾收集虽然大大减轻了开发人员的工作量,但是也增加了软件系统的负担。拥有垃圾收集器可以说是 Java 语言与 C++语言的一项显著区别。在 C++语言中,程序员必须小心谨慎地处理每一项内存分配,且内存使用完后必须手工释放曾经占用的内存空间。当内存释放不够完全时,即存在分配但永不释放的内存块,就会引起内存泄漏,严重时甚至导致程序瘫痪。以下列举了垃圾回收器常用的算法及实验原理

audio 的各种方法_audio 方法_国服第一程序员的博客-程序员秘密

<div class="box"> <button>play</button> <button>pause</button> <button>stop</button> <button>快进</button> <button>音量</button> <button>时间&

ZOJ1031 Square Destroyer_沙漠蚯蚓的博客-程序员秘密

 /*此问题可以转化为一个图论的问题,把火柴看作另A类结点,正方形看作B类结点。如果某根火柴在某个正方形的边上,那么我们就往这相应的两个结点添加一条边。这样,问题转化为求该图中,最少用多少A类结点可以覆盖所有的B类结点。当n=5时,A类结点数为:2n(n+1)=60;B类结点数为:n(n+1)(2n+1)/6=55。可以见得,B类结点可以直接通过一个64位整型类储存。利用位

第十周 【项目1 - 哈夫曼编码的算法验证(4)】_哈夫曼编码初始化时左孩子置-1_lilinxi_的博客-程序员秘密

/* * Copyright(c) 2017,烟台大学计算机学院 * All rights reserved. * 作 者:李琳汐 * 完成日期:2017 年 11 月 16日 * 版 本 号:v1.0 * * 问题描述:哈夫曼编码的算法验证 */ #incl

Leetcode刷题84-908. 最小差值 I(C++详细解法!!!)_hanxiao_101的博客-程序员秘密

Come from : [https://leetcode-cn.com/problems/smallest-range-i/submissions/]908. Smallest Range I1.Question2.Answer3.大神们的解决方案4.我的收获1.QuestionGiven an array A of integers, for each integer A[i] we ...

随便推点

Vue环境搭建+VSCode+Win10_chitaiwu5869的博客-程序员秘密

一、安装Node.js(js的运行环境) 1.在Node.js官网https://nodejs.org/en/download/下载安装包。 2.下载后进行安装。 3.打开命令行,输入node -v可以查看到版本号。输入npm –v可看到npm版本号。 新版的Node.js已自带npm(类似...

texstudio / sublime text 3 - latextools使用minted包遇到的一些问题的解决办法_StoolMonster的博客-程序员秘密

Tex第一次使用minted时经常会碰到的两个问题:第一个:Package minted Error: You must invoke LaTeX with the -shell-escape flag.第二个:Package minted Error: You must have 'pygmentize' installed to use this package.经常是先出现第一个,解决第一个问题之后,再出现第二个问题。下面分别说一下windows 10中使用TexStudio

java绘制直线_idea jframe 画线_海边拔罐的博客-程序员秘密

通过建立画板,鼠标监听器实现直线的绘制

【JavaScript高级01】JavaScript基础深入_墨痕留绝的博客-程序员秘密

1,数据类型JavaScript将数据分为六大类型,分别为数值类型(number)、字符串类型(string)、布尔类型(boolean)、undefined(定义未赋值)、null(赋值为空值)、应用类型。其中引用类型可分为普通对象,Function、Array。Function,Array都是属于特殊的对象。typeof可以用来判断一个变量的数据类型:var adocument.write(typeof a+"____")var a=12document.write(typeof a

Mac系统下安装svn环境方法_mac 不用 brew 安装svn_流年7032的博客-程序员秘密

最近公司有个项目比较急,寻思着回家加班继续写来着的,发现家里mac没有svn环境;平时使用惯了svn命令行,不想下载第三方工具图形化工具,于是考虑使用Homebrew进行安装,具体操作步骤如下一、安装Homebrew环境(已有跳过此步骤)打开终端,输入如下指令/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"随意选择一个下载源输入对应序号输入Y...

训练集、测试集loss容易出现的问题总结_test loss先下降后上升_敢敢のwings的博客-程序员秘密

train loss 不断下降,test loss不断下降:说明网络仍在学习;train loss 不断下降,test loss趋于不变:说明网络过拟合;train loss 趋于不变,test loss不断下降:说明数据集100%有问题;train loss 趋于不变,test loss趋于不变:说明学习遇到瓶颈,需要减小学习率或批量数目;或者是数据集有问题(数据集标注错误数据比较多)train loss 不断上升,test loss不断上升:说明网络结构设计不当,训练超参数设置不当,数据集经过.

推荐文章

热门文章

相关标签