基于Haproxy+Keepalived负载均衡高可用架构

一、环境准备

服务器IP地址eth1IP地址eth2作用程序
服务器A192.168.17.173172.17.17.173Haproxy(主)Haproxy+keepaived
服务器B192.168.17.174172.17.17.174Haproxy(从)Haproxy+keepaived
服务器C192.168.17.175172.17.17.175real-serverLNMP的小米商城
服务器D192.168.17.176172.17.17.176real-serverLNMP的小米商城

二、Haproxy(主)服务器的配置

1.keepaived(主)配置

yum install keepalived  -y
vim /etc/keepalived/keepalived.conf 
#VI-1 作为提供前段服务接口的IP
#VI-2 作为提供stats访问页面的IP
#让这两个IP一起漂移
! Configuration File for keepalived

global_defs {
   notification_email {
     root@localhost 
   }
   notification_email_from root_keepalived
   smtp_server 127.0.0.1
   smtp_connect_timeout 30
   router_id LVS_DEVEL
}

vrrp_instance VI_1 {
    state BACKUP
    interface eth2
    virtual_router_id 14
    priority 200
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 2121
    }
    virtual_ipaddress {
        172.17.17.1
    }
}
vrrp_instance VI_2 {
    state BACKUP
    interface eth1
    virtual_router_id 15
    priority 200
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 2121
    }
    virtual_ipaddress {
        192.168.17.1
    }
}

2.Haproxy配置

yum install haproxy  -y
vim /etc/haproxy/haproxy.cfg
global

    log         127.0.0.1 local2
    #配置日志,需要在/etc/rsyslog.conf中添加 local2.*    /var/log/haproxy.log
    nbproc      1
    chroot      /var/lib/haproxy
    pidfile     /var/run/haproxy.pid
    maxconn     4000
    user        haproxy
    group       haproxy
    daemon

    stats socket /var/lib/haproxy/stats

defaults
    mode                    http
    log                     global
    option                  httplog
    option                  dontlognull
    option http-server-close
    option forwardfor       except 127.0.0.0/8
    option                  redispatch
    retries                 3
    timeout http-request    10s
    timeout queue           1m
    timeout connect         10s
    timeout client          1m
    timeout server          1m
    timeout http-keep-alive 10s
    timeout check           10s
    maxconn                 3000

frontend http 172.17.17.1:80
        default_backend      xiaomi
backend xiaomi
        balance     roundrobin
        #option httpchk GET /index.php
        server  xiaomi_175  192.168.17.175:80 check
        server  xiaomi_176  192.168.17.176:80 check 

listen stats #定义一个统计报告服务
        mode http #基于http协议
        bind 192.168.17.1:1900 #监听1080端口
        stats enable #开启统计报告服务
        stats hide-version #隐藏统计报告版本信息
        stats uri /haproxy?111 #统计报告访问url
        stats realm Haproxy\ Statistics #页面登陆信息
        stats auth admin:admin #验证账号信息
        stats admin if TRUE #验证模式
systemctl  start keepalived  haproxy

三、Haproxy(从)服务器的配置

yum install keepalived  -y

1.keepaived(从)配置

区别只是keepalived中的优先级不同

vim /etc/keepalived/keepalived.conf 
#VI-1 作为提供前段服务接口的IP
#VI-2 作为提供stats访问页面的IP
#让这两个IP一起漂移
! Configuration File for keepalived

global_defs {
   notification_email {
     root@localhost 
   }
   notification_email_from root_keepalived
   smtp_server 127.0.0.1
   smtp_connect_timeout 30
   router_id LVS_DEVEL
}

vrrp_instance VI_1 {
    state BACKUP
    interface eth2
    virtual_router_id 14
    priority 100
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 2121
    }
    virtual_ipaddress {
        172.17.17.1
    }
}
vrrp_instance VI_2 {
    state BACKUP
    interface eth1
    virtual_router_id 15
    priority 100
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 2121
    }
    virtual_ipaddress {
        192.168.17.1
    }
}

2.Haproxy配置

同上一个服务器的Haproxy配置没有区别

yum install haproxy  -y
vim /etc/haproxy/haproxy.cfg
global

    log         127.0.0.1 local2
    #配置日志,需要在/etc/rsyslog.conf中添加 local2.*    /var/log/haproxy.log
    nbproc      1
    chroot      /var/lib/haproxy
    pidfile     /var/run/haproxy.pid
    maxconn     4000
    user        haproxy
    group       haproxy
    daemon

    stats socket /var/lib/haproxy/stats

defaults
    mode                    http
    log                     global
    option                  httplog
    option                  dontlognull
    option http-server-close
    option forwardfor       except 127.0.0.0/8
    option                  redispatch
    retries                 3
    timeout http-request    10s
    timeout queue           1m
    timeout connect         10s
    timeout client          1m
    timeout server          1m
    timeout http-keep-alive 10s
    timeout check           10s
    maxconn                 3000

frontend http 172.17.17.1:80
        default_backend      xiaomi
backend xiaomi
        balance     roundrobin
        #option httpchk GET /index.php
        server  xiaomi_175  192.168.17.175:80 check
        server  xiaomi_176  192.168.17.176:80 check 

listen stats #定义一个统计报告服务
        mode http #基于http协议
        bind 192.168.17.1:1900 #监听1080端口
        stats enable #开启统计报告服务
        stats hide-version #隐藏统计报告版本信息
        stats uri /haproxy?111 #统计报告访问url
        stats realm Haproxy\ Statistics #页面登陆信息
        stats auth admin:admin #验证账号信息
        stats admin if TRUE #验证模式
systemctl  start keepalived  haproxy

四、配置realserver的服务

实现基于LNMP的电子商务网站部署

systemctl  start nginx php-fpm  mariadb
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值