50、haproxy+keepalive+nginx

keepalive+haproxy

客户端:192.168.168.21

haproxy1:192.168.168.43

haproxy2:192.168.168.44

vip:192.168.168.100

nginx1:192.168.168.31

nginx2:192.168.168.32

haproxy+keepalive做高可用

nginx做后台

haproxy1+haproxy2一起操作:

systemctl stop firewalld.service
setenforce 0
yum -y install keepalived

cd /etc/keepalived/

结束操作。

vim keepalved.service

! Configuration File for keepalived

global_defs {
   notification_email {
     acassen@firewall.loc
     failover@firewall.loc
     sysadmin@firewall.loc
   }
   notification_email_from Alexandre.Cassen@firewall.loc
   smtp_server 127.0.0.1
   smtp_connect_timeout 30
   router_id LVS_1
   vrrp_skip_check_adv_addr
   vrrp_strict
   vrrp_garp_interval 0
   vrrp_gna_interval 0
   vrrp_iptables
}
 vrrp_script check_haproxy {
     script "/opt/check_haproxy.sh"
      interval 5
}
vrrp_instance VI_1 {
    state MASTER
    interface ens33
    virtual_router_id 51
    priority 120
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        192.168.168.100
}
         track_script {
         check_haproxy
}
}

脚本

vim /opt/check_haproxy.sh

#!/bin/bash
test=$(systemctl status haproxy.service | awk 'NR==3{print $2}')
if [ $test != 'active' ]
then
   systemctl stop keepalived
fi

haproxy1:

# this config needs haproxy-1.1.28 or haproxy-1.2.1

global
        #log loghost    local0 info
        maxconn 4096
        #最大连接数,linux推荐值1024
        #chroot /usr/share/haproxy
        uid 99
        gid 99
        daemon
        nbproc 6
        #haproxy的并发线程数,设置的数量最好是cpu的2倍或者是和cpu保持一致。
        #debug
        #quiet

defaults
#默认参数配置,连接配置,监听配置,代理转发配置
        log     global
        mode    http
        option  httplog
        option  dontlognull
        retries 3
        #检查节点服务器3次,连续3次失败,就认为节点服务器不可用
        redispatch
        #服务器负载很高时,自动结束当前队列中处理比较久的连接。
        maxconn 2000
        #最大连接数,这个数值可以和global中的一致,也可以比他小,但是不能超过他,一般设置成一致。
        #contimeout     5000
        #clitimeout     50000
        #srvtimeout     50000
        timeout http-request 10s
        #http请求的默认超时时间
        timeout queue 1m
        #在队列请求的超时时间
        timeout connect 10s
        #连接超时时间
        timeout client 1m
        #客户端的超时时间
        timeout server 1m
        #服务端的超时时间
        timeout http-keep-alive 10s
        #默认长连接的超时时间
        timeout check 10s
        #检查后端服务器的超时时间
#转发请求的配置,即可以是四层也可以是七层
#7层的配置:
listen  xy102 0.0.0.0:80
        option httpchk GET /index.html
        #设置转发请求的内容
        balance static-rr
        #轮询算法#      
        server  rs01 192.168.168.31:80 check inter 2000 fall 3 weight 2
        server  rs02 192.168.168.32:80 check inter 2000 fall 3 weight 3

systemctl restart haproxy.service
systemctl restart keepalived.service

备服务器

scp root@192.168.168.43:/etc/keepalived/keepalived.conf /etc/keepalived/

vim keepalived.conf 

! Configuration File for keepalived

global_defs {
   notification_email {
     acassen@firewall.loc
     failover@firewall.loc
     sysadmin@firewall.loc
   }
   notification_email_from Alexandre.Cassen@firewall.loc
   smtp_server 127.0.0.1
   smtp_connect_timeout 30
   router_id LVS_2
   vrrp_skip_check_adv_addr
   vrrp_strict
   vrrp_garp_interval 0
   vrrp_gna_interval 0
   vrrp_iptables
}

vrrp_instance VI_2 {
    state BACKUP
    interface ens33
    virtual_router_id 51
    priority 100
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        192.168.168.100
    }
}

systemctl restart haproxy.service 
systemctl restart keepalived.service
nginx1:

echo "this is nginx11" > /usr/local/nginx/html/index.html

systemctl restart nginx

nginx2

echo "this is nginx12" > /usr/local/nginx/html/index.html

systemctl restart nginx

haproxy1:

systemctl restart haproxy.service
systemctl restart keepalived.service
ip addr

在这里插入图片描述

haprox2:

在这里插入图片描述

客户端测试:

在这里插入图片描述

haproxy1:

systemctl stop haproxy.service

ip addr

在这里插入图片描述

haproxy2:

ip addr

在这里插入图片描述

客户端测试:

在这里插入图片描述

在这里插入图片描述

haproxy1:

systemctl restart haproxy.service
systemctl restart keepalived.service
ip addr

在这里插入图片描述

客户端测试:

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值