基于Keepalived+Haproxy+Varnish+LNMP企业级架构实现

实现基于Keepalived+Haproxy+Varnish+LNMP企业级架构

原理:缓存,又称加速器,用于加速运行速度较快的设备与较慢设备之间的通信。基于程序的运行具有局部性特征其能实现加速的功能

一、环境准备

1.1 相关配置

机器名称 IP配置 服务角色 备注
haproxy-server-master VIP:172.17.120.120 RIP:172.17.66.66 负载均衡器主服务器 配置keepalived
haproxy-server-backup VIP:172.17.120.120 RIP:172.17.251.66 负载均衡器从服务器 配置keepalived
varnish 192.168.37.111 缓存服务器 开启代理功能
rs01 192.168.37.222 后端服务器 开启lnmp的web服务
rs02 192.168.37.100 后端服务器 开启lnmp的web服务

1.2 安装服务

  我们需要在相应的机器上安装我们的服务:
1)haproxy-server-master&haproxy-server-backup 上:

    yum install haproxy -y
    yum install keepalived -y
    yum install varnish -y

1.3 关闭防火墙及selinux

    iptables -F && setenforing

  
  本步骤完成。

二、配置 Haproxy

  我们需要把两个机器的Haproxy都设置好。我们去修改一下Haproxy的配置文件——/etc/haproxy/haproxy.cfg
  global段和default段都是设置好的,我们就不需要修改,下面是我们需要修改的部分:
1)frontend段

frontend  web
        bind    *:80
        default_backend         varnish-server

2)backend段

backend varnish-server
    balance     roundrobin
    server  varnishsrv 192.168.37.111:6081 check inter 3000 rise 3 fall 5

3)listen段

listen admin
        bind :9527
        stats enable
        stats uri  /haproxyadmin
        stats auth admin:admin
        stats refresh 20s
        stats admin if TRUE

  第一台机器设置好了以后,直接使用scp命令发到第二台机器即可。
  然后把两台机器的服务都开启:

    service haproxy start

  本步骤完成。

三、配置keepalived

3.1 配置 haproxy-server-master (主服务器)

  配置文件为/etcc/keeplalived/keepalived.conf,我们编辑以下三段即可:
1)全局段——设置发送邮件

global_defs {
   notification_email {
        root@localhost
   }
   notification_email_from [email protected]
   smtp_server 127.0.0.1
   smtp_connect_timeout 30
   router_id keepalived_haproxy
}

2)编辑健康监测脚本
  该脚本作用是对haproxy进行健康监测,每隔2s监测一次haproxy进程。

vrrp_script chk_haproxy {
        script "killall -0 haproxy"
        interval 2
        fall 2
        rise 2
        weight -4
}

3)定义主从和VIP

vrrp_instance VI_1 {
    state MASTER
    interface eth1
    virtual_router_id 170
    priority 100
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass keer
    }
    virtual_ipaddress {
        172.17.120.120
    }
    track_script {
        chk_haproxy
    }
}

3.2 配置 haproxy-server-backup (从服务器)

  从服务器和主服务器的配置很是相似,我们可以直接使用scp命令把主服务器的配置文件拷过来,然后,我们只需要把第二段删掉,同时修改一下第三段的主从和优先级即可:

vrrp_instance VI_1 {
    state BACKUP
    interface eth1
    virtual_router_id 170
    priority 98
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass keer
    }
    virtual_ipaddress {
        172.17.120.120
    }
}

  本步骤完成。

HAproxy 的详细介绍请点这里
HAproxy 的下载地址请点这里

猜你喜欢

转载自www.linuxidc.com/Linux/2017-11/149009.htm