1、linux安装方法:yum -y install keepalived

配置开机启动:sudo chkconfig  keepalived on

查看keepalivede运行日志:/var/log/messages

sudo /etc/init.d/keepalived start/restart

Usage: /etc/init.d/keepalived {start|stop|status|restart|condrestart|try-restart|reload|force-reload}

2、配置文件位置:/etc/keepalived

3、配置文件keepalived.conf分为三部分功能:

  a)global_defs:全局配置

  b)vrrp_instance:高可用配置

  c)virtual_server:负责分担配置

  d)vrrp_script:监控其他应用

本部分内容使用功能b)和功能d);使用d)监控nginx是否可用,从而决定nginx同台设备的keepalived是否可用;使用b)使两台设备通信,决定master设备

4、两台设备的keepalive的版本配置要一致(两个节点的配置基本完全一样,除了优先级主节点是100,备节点是99)

5、环境:机器A、机器B;两台机器都安装nginx(sudo yum -y install nginx)和keepalived

机器A的keepalived配置:

! Configuration File for keepalived
#下面是监控脚本
vrrp_script chk_nginx {
script "/etc/keepalived/script/check_alive.sh"
interval 2 #每2秒执行一次脚本
weight -2 #当脚本执行返回非0时,priority-2
} vrrp_instance appserver {
state MASTER #master节点
interface eth0
virtual_router_id 150
priority 100 #优先级,如果两个设备state都为master,则根据优先级进行确定哪个为master
advert_int 1
authentication {
auth_type PASS
auth_pass 666666 #两台设备进行通信的密码
}
track_script {
chk_nginx #检查脚本
}
virtual_ipaddress {
x.x.17.158 dev eth0 label eth0:1 #key:value VIP
} }

机器B的keepalived配置:

! Configuration File for keepalived
vrrp_script chk_nginx {
script "/etc/keepalived/script/check_alive.sh"
interval 2
weight -2
}
vrrp_instance appserver {
state MASTER
interface eth0
virtual_router_id 150
priority 99
advert_int 1
authentication {
auth_type PASS
auth_pass 666666
}
track_script {
chk_haproxy
}
virtual_ipaddress {
x.x.17.158 dev eth0 label eth0:1
} }

脚本内容:

#!/bin/bash
if [ "$(ps -ef | grep nginx | grep -v grep | wc -l)" -eq 0 ]
then
exit 1
else
exit 0
fi

通过查看,可以知道其中为master的设备具有VIP

ps:最近又发现一个坑点,使用上面的配置,需要上面的两台设备的物理IP和虚拟IP要在同一个网段。当然不在一个网段,修改配置应该可以解决。具体配置办法,遇到了再说吧

如何使用keepalived实现nginx双机热备的更多相关文章

  1. Keepalived+LVS+nginx双机热备

    Keepalived简介 什么是Keepalived呢,keepalived观其名可知,保持存活,在网络里面就是保持在线了, 也就是所谓的高可用或热备,用来防止单点故障的发生. Keepalived采 ...

  2. keepalived+nginx双机热备+负载均衡

    Reference: http://blog.csdn.net/e421083458/article/details/30092795 keepalived+nginx双机热备+负载均衡 最近因业务扩 ...

  3. haproxy/nginx+keepalived负载均衡 双机热备 邮件报警 实战及常见问题

    Haproxy 做http和tcp反向代理和负载均衡keepalived 为两台 Haproxy 服务器做高可用/主备切换.nginx   为内网服务器做正向代理,如果业务需求有变化,也可以部分替代 ...

  4. keepalived+LVS 实现双机热备、负载均衡、失效转移 高性能 高可用 高伸缩性 服务器集群

    本章笔者亲自动手,使用LVS技术实现实现一个可以支持庞大访问量.高可用性.高伸缩性的服务器集群 在读本章之前,可能有不少读者尚未使用该技术,或者部分读者使用Nginx实现应用层的负载均衡.这里大家都可 ...

  5. nginx负载均衡三:keepalive+nginx双机热备 和负载均衡

    环境 centos7.0 nginx:1.15 1.主备四台服务器 f1:负载均衡  192.168.70.169 f2:web站点  192.168.70.170 f3:web站点  192.168 ...

  6. Nginx+keepalived 高可用双机热备(主从模式/双主模式)

    基础介绍负载均衡技术对于一个网站尤其是大型网站的web服务器集群来说是至关重要的!做好负载均衡架构,可以实现故障转移和高可用环境,避免单点故障,保证网站健康持续运行. 关于负载均衡介绍,可以参考:li ...

  7. Nginx+keepalived 高可用双机热备(主从模式)

    环境:centos7.6 最小化安装 主:10.11.1.32 从:10.11.1.33 VIP:10.11.1.130 修改主节点主机名: hostnamectl set-hostname web_ ...

  8. 在Nginx容器安装Keepalived后端项目双机热备

    docker exec -it n1 bash apt-get update apt-get install keepalived apt-get install vim 再次之前要配置VIP虚拟IP ...

  9. keepalived nginx 双机热备图文讲解

    http://blog.csdn.net/wanglei_storage/article/details/51175418

随机推荐

  1. Mysql的刷脏页问题

    平时的工作中,不知道你有没有遇到过这样的场景,一条 SQL 语句,正常执行的时候特别快,但是有时也不知道怎么回事,它就会变得特别慢,并且这样的场景很难复现,它不只随机,而且持续时间还很短. 当内存数据 ...

  2. rest api load test

    1. SoapUI + LoadUI 2. https://github.com/jeffbski/bench-rest 3. JMeter

  3. iOS控制器与视图加载方法

    转载记录, 请看原文: 1. iOS中的各种加载方法(initWithNibName,loadNibNamed,initWithCoder,awakeFromNib等等)简单使用   http://w ...

  4. Asp.net vNext 学习之路(二)

    View component(视图组件)应该是MVC6 新加的一个东西,类似于分部视图.本文将演示在mvc 6中 怎么添加视图组件以及怎么在视图中注入一个服务. 本文包括以下内容: 1,创建一个新的a ...

  5. 【C#】Lamada表达式演变过程

    static void Main() { //第一步 委托实例调用 Func<string, int> test = new Func<string, int>(getLeng ...

  6. thinkphp5.0配置作用域

    作用域 配置参数支持作用域的概念,默认情况下,所有参数都在同一个系统默认作用域下面.如果你的配置参数需要用于不同的项目或者相互隔离,那么就可以使用作用域功能,作用域的作用好比是配置参数的命名空间一样. ...

  7. 2017-2018-1 20179202《Linux内核原理与分析》第四周作业

    一.跟踪分析内核的启动过程实验 : 1.启动Menuos: qemu仿真kernel: qemu -kernel linux-3.18.6/arch/x86/boot/bzImage -initrd ...

  8. shell kill session

    ps -ef | grep java kill -9 pid

  9. 初识JVM

    做了这么久的开发,到目前为止对JVM也只是一些简单的概念上的理解,正好周末于是将JVM的学习提上日程. JVM 概念 JVM是Java Virtual Machine(Java虚拟机)的缩写,JVM是 ...

  10. 「UOJ218」火车管理

    「UOJ218」火车管理 解题思路:观察发现,在弹出 \(x\) 之前,它前面这个元素都是保持不变的,所以可以用一棵可持久化线段树维护每一个栈顶元素的插入时间,每次找到当前时间\(-1\) 的版本就可 ...