keepalived+nginx架构搭建

原创 2018年04月16日 13:22:35

nginx的安装和配置这里不赘述。nginx可以用来单纯的提供web服务,也可以用来提供负载均衡(upstream)。

keepalived在阿里源里有2.13版本的,可以直接安装,也可以下载源码安装(建议尝试用源码安装,比较自主)。

源码下载地址:http://www.keepalived.org/download.html

keepalived分为master和backup。

MASTER:

vim /etc/keepalived/keepalived.conf

global_defs {
   router_id nginx_01  #标识本节点的名称,通常为hostname
}

## keepalived会定时执行脚本并对脚本执行的结果进行分析,动态调整vrrp_instance的优先级。
##如果脚本执行结果为0,并且weight配置的值大于0,则优先级相应的增加。如果脚本执行结果非0,
##并且weight配置的值小于 0,则优先级相应的减少。其他情况,维持原本配置的优先级,即配置文件中priority对应的值。
vrrp_script chk_nginx {
       script "/etc/keepalived/nginx_check.sh"
       interval 2  #每2秒检测一次nginx的运行状态
       weight -20  #失败一次,将自己的优先级-20
}

vrrp_instance VI_1 {
    state MASTER                  # 状态,主节点为MASTER,备份节点为BACKUP
    interface enp0s3              # 绑定VIP的网络接口,通过ifconfig查看自己的网络接口
    virtual_router_id 51          # 虚拟路由的ID号,两个节点设置必须一样,可选IP最后一段使用,相同的VRID为一个组,他将决定多播的MAC地址
    mcast_src_ip 192.168.1.201    # 本机IP地址
    priority 100                  # 节点优先级,值范围0~254,MASTER要比BACKUP高
    advert_int 1                  # 组播信息发送时间间隔,两个节点必须设置一样,默认为1秒
    # 设置验证信息,两个节点必须一致
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    # 虚拟IP,两个节点设置必须一样。可以设置多个,一行写一个
    virtual_ipaddress {
        192.168.1.210
    }

    track_script {
       chk_nginx  # nginx存活状态检测脚本
    }
}

BACKUP:

vim /etc/keepalived/keepalived.conf

global_defs {
   router_id nginx_02
}

vrrp_script chk_nginx {
    script "/etc/keepalived/nginx_check.sh"
    interval 2
    weight -20
}

vrrp_instance VI_1 {
    state BACKUP
    interface enp0s3
    virtual_router_id 51
    mcast_src_ip 192.168.1.202
    priority 90
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        192.168.1.210
    }

    track_script {
       chk_nginx
    }
}

在MASTER和BACKUP的/etc/keepalivd文件夹里创建nginx_check.sh。内容如下:

#!/bin/bash
A=`ps -C nginx --no-header | wc -l`
if [ $A -eq 0 ];then
    /opt/nginx/sbin/nginx #尝试重新启动nginx
    sleep 2  #睡眠2秒
    if [ `ps -C nginx --no-header | wc -l` -eq 0 ];then
        killall keepalived #启动失败,将keepalived服务杀死。将vip漂移到其它备份节点
    fi
fi

分别启动master和backup上的keepalived。

注意:启动顺序,先master,然后


keepalived+nginx实现高可用双机热备+负载均衡架构

本文环境如下: 1 准备4个ubuntu16.04虚拟机(启用网卡二并使用桥接模式): A服务器:192.168.0.103       主 B服务器:192.168.0.104    ...
  • u013214151
  • u013214151
  • 2016-06-08 14:33:46
  • 544

lvs+keepalived+nginx 搭建主备

上一篇讲了nginx+tomcat搭建了反向代理和负载均衡  那么如果nginx挂掉了 即使两个tomcat都没有挂也是无法访问的 所以这个时候需要一个主备管理 如果主nginx挂了立即由备用ngin...
  • feng_qi_1984
  • feng_qi_1984
  • 2017-02-01 13:49:25
  • 673

keepalived + nginx组建高可用负载平衡Web server集群

1 nginx负载均衡高可用 1.1 什么是负载均衡高可用 nginx作为负载均衡器,所有请求都到了nginx,可见nginx处于非常重点的位置,如果nginx服务器宕机后端web服务将无法提供服...
  • l192168134
  • l192168134
  • 2016-07-01 15:30:24
  • 5735

VMware+centos6.5环境下keepalived+nginx实验

1. 必备条件: a. ip模式-static ,关闭防火墙和selinux b. 如果是虚拟机实验,推荐用hosts模式 c. 准备2台机器,192.168.40.155(主均衡节点) 192.16...
  • RodJohnsonDoctor
  • RodJohnsonDoctor
  • 2014-11-27 14:56:04
  • 2302

nginx+keepalived负载均衡解决方案测试实录

nginx进程基于于Master+Slave(worker)多进程模型,自身具有非常稳定的子进程管理功能。在Master进程分配模式下,Master进程永远不进行业务处理,只是进行任务分发,从而达到M...
  • zl8762385
  • zl8762385
  • 2012-09-23 04:54:27
  • 682

Keepalived+Nginx架构配置

Keepalived介绍 keepalived是一个类似于layer3, 4, 5 交换机制的软件,也就是我们平时说的第3层、第4层和第5层交换。Keepalived的作用是检测web服务器的状...
  • linuxnews
  • linuxnews
  • 2017-02-25 23:35:54
  • 411

智能一代云平台(十五):Keepalived+Nginx实现高可用,反向代理---Nginx安装及配置

【前言】     项目中总有些研究性的工作来做,记得一年多之前也是在研究Nginx,当时也是苦战了一周左右;时隔一年对它的理解又加深了许多,不过也下了些功夫将它又进行了深入的研究     虽然网上已经...
  • u012829124
  • u012829124
  • 2017-03-12 08:23:41
  • 953

keepalived+nginx搭建高可用

Nginx实现高可用 nginx入门 什么是nginx? nginx是一款高性能的http 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器。由俄罗斯的程序设计师Igor Sys...
  • LeoRaqlx
  • LeoRaqlx
  • 2018-02-04 19:05:05
  • 25

搭建keepalived+nginx 高可用注意事项

Virtual Route Redundancy Protocol,即虚拟路由冗余协议。它主要是实现路由器高可用的容错协议。将多台路由器组成路由器组(Router Group),组中包括Master及...
  • Linuxprobe18
  • Linuxprobe18
  • 2018-03-14 08:11:53
  • 44
收藏助手
不良信息举报
您举报文章:keepalived+nginx架构搭建
举报原因:
原因补充:

(最多只允许输入30个字)