[聚合文章] 基于Keepalived+Haproxy+Varnish+LNMP企业级架构实现

软件架构 2017-11-30 14 阅读

实现基于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

2)varnish 上:

varnish服务器请用CentOS7来做。

yum install varnish -y

3)rs01&rs02 上:

安装配置LNMP。详情见——Nginx详解以及LNMP的搭建  http://www.linuxidc.com/Linux/2017-11/148576.htm

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 root@keer.com
   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
    }
}

本步骤完成。

构建高可用集群Keepalived+Haproxy负载均衡 http://www.linuxidc.com/Linux/2016-12/138917.htm

HAproxy的基本配置(负载均衡+日志独立+动静分离+读写分离) http://www.linuxidc.com/Linux/2017-03/141614.htm

CentOS 7下Keepalived + HAProxy 搭建配置详解 http://www.linuxidc.com/Linux/2017-03/141593.htm

HAproxy实现反向代理和负载均衡 http://www.linuxidc.com/Linux/2016-12/138749.htm

HAProxy+Keepalived实现高可用负载均衡 http://www.linuxidc.com/Linux/2016-06/132225.htm

使用 HAProxy 配置 HTTP 负载均衡器 http://www.linuxidc.com/Linux/2015-01/112487.htm

Ubuntu 16.04 下安装HAProxy 1.5.11 做tcp负载均衡 http://www.linuxidc.com/Linux/2016-06/132689.htm

CentOS 7.2 部署Haproxy 1.7.2 http://www.linuxidc.com/Linux/2017-10/147553.htm

HAproxy 的详细介绍 请点这里

HAproxy 的下载地址 请点这里

更多详情见请继续阅读下一页的精彩内容 http://www.linuxidc.com/Linux/2017-11/149009p2.htm

注:本文内容来自互联网,旨在为开发者提供分享、交流的平台。如有涉及文章版权等事宜,请你联系站长进行处理。