自学内容网 自学内容网

HAproxy-7层负载均衡集群根据不同服务请求分配服务器

搭建HAproxy----7层负载均衡集群的补充

https://blog.csdn.net/qq_73990369/article/details/142500451?spm=1001.2014.3001.5501

一、再准备两台虚拟机进行测试

192.168.229.15/24    ----php1

192.168.229.16/24    ----php2

1、PHP1 & php2(192.168.229.15/24 ,192.168.229.16/24 )

yum install httpd php -y

2、分别创建测试页面 index.php ,开启服务

vim /var/www/html/index.php

1.php1

php1111111

2.php2

php222222

3、启动httpd

systemctl start httpd

二、修改配置文件(192.168.229.12)

vim /etc/haproxy/haproxy.cfg
global
log 127.0.0.1 local3 info   #日志服务器
maxconn 4096   #最大连接数
uid nobody   #用户身份
gid nobody   #组身份
daemon   #守护进程方式后台运行
nbproc 1   #工作进程数量

####### ###########默认设置 ###################
#####这些参数是配置 frontend,backend,listen 组的 ###########
defaults                    #这些参数可以被利用配置到frontend,backend,listen组件   
log   global
mode   http    #工作模式 http ,tcp 是 4 层,http是 7 层
maxconn 2048#最大连接数
retries 3    #3 次连接失败就认为服务器不可用
optionredispatch#如果 cookie 写入了 serverId 而客户端不会刷新 cookie,当serverId 对应的服务器挂掉后,强制定向到其他健康的服务器
statsuri  /haproxy#使用浏览器访问 http://192.168.229.12/haproxy,可以看到服务器状态
stats auth           wing:123     #用户认证,客户端使用elinks浏览器的时候不生效
contimeout5000          #连接超时时间,单位毫秒ms
clitimeout    50000        #客户端超时
srvtimeout    50000        #服务器超时


frontend http-in
bind 0.0.0.0:80                           #监听端口
mode http
log global
option httplog                 #日志类别 http 日志格式
option httpclose                 #打开支持主动关闭功能,每次请求完毕后主动关闭http通道,ha-proxy不支持keep-alive,只能模拟这种模式的实现
    acl php url_reg  -i  \.php$ #acl <ACL名字>  <类型>  <大小写>  <规则>
    acl html url_reg  -i  \.html$   #use_backend  <服务器组>  if  <ACL名字>
    use_backend php-server if  php
    use_backend html-server if  html
    default_backend html-server #默认使用的服务器组


backend php-server
mode http
balance roundrobin            #负载均衡的方式
option httpchk GET /index.php#健康检查
cookie SERVERID insert indirect nocache#客户端的 cookie 信息,允许插入serverid到cookie中,此处cookie号不同
server php-A 192.168.229.15:80 weight 1 cookie 1 check inter 2000 rise 2 fall 5
server php-B 192.168.229.16:80 weight 1 cookie 2 check inter 2000 rise 2 fall 5
#cookie 1 标识 serverid 为 1
#check inter 2000          检测心跳频率
#rise 2     2 次正确认为服务器可用
#fall 5      5 次失败认为服务器不可用

backend html-server
mode http
balance roundrobin
option httpchk GET /index.html
cookie SERVERID insert indirect nocache
server html-A 192.168.229.13:80 weight 1 cookie 3 check inter 2000 rise 2 fall 5
server html-B 192.168.229.14:80 weight 1 cookie 4 check inter 2000 rise 2 fall 5

重新启动HAproxy

systemctl restart haproxy.service

配置域名解析

vim /etc/hosts
192.168.229.15 php1
192.168.229.16 php2

在客户端(Client)访问 HAproxy 测试

elinks --dump http://haproxy/index.html
elinks --dump http://192.168.229.12/index.php


原文地址:https://blog.csdn.net/qq_73990369/article/details/142524644

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!