HAproxy七层负载均衡(5)HAproxy - web站点动静分离示例
  UYqGUrvNnnTe 2023年11月12日 18 0

HAproxy七层负载均衡(5)HAproxy - web站点动静分离示例_linux

环境

Client:192.168.19.1/24
HAproxy:192.168.19.103/24
HTML A: 192.168.19.100/24
HTML B: 192.168.19.102/24
PHP A:192.168.19.104/24

HTML  A & HTML  B

yum install httpd
分别创建测试页面 index.html ,开启服务

PHP  A 

yum install httpd php
创建测试页面 index.php ,开启服务

安装HAproxy

tar xf haproxy-1.4.27.tar.gz
cd haproxy-1.4.27
make TARGET=linux26 PREFIX=/usr/local/haproxy install

生成HAproxy配置文件

######## 全局配置信息 #########
######参数是进程级的,通常和操作系统相关#######
global
log 127.0.0.1 local3 info #日志服务器
maxconn 4096 #最大连接数
user nobody #用户身份
group 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 次连接失败就认为服务器不可用
option redispatch #如果 cookie 写入了 serverId 而客户端不会刷新 cookie,当serverId 对应的服务器挂掉后,强制定向到其他健康的服务器
stats uri /haproxy #使用浏览器访问 http://192.168.122.254/haproxy,可以看到服务器状态
stats auth wing:123 #用户认证,客户端使用elinks浏览器的时候不生效
contimeout 5000 #连接超时时间,单位毫秒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.19.104:80 weight 1 cookie 1 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.19.100:80 weight 1 cookie 3 check inter 2000 rise 2 fall 5
server html-B 192.168.19.102:80 weight 1 cookie 4 check inter 2000 rise 2 fall 5

启动HAproxy

/usr/local/haproxy/sbin/haproxy -f /usr/local/haproxy/conf/haproxy.cfg

查看HAproxy状态

http://localhost/haproxy

HAproxy七层负载均衡(5)HAproxy - web站点动静分离示例_linux_02

在客户端访问 HAproxy 测试

HAproxy七层负载均衡(5)HAproxy - web站点动静分离示例_linux_03

HAproxy七层负载均衡(5)HAproxy - web站点动静分离示例_linux_04

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月12日 0

暂无评论

推荐阅读
  NlZJHLjqK2Ej   2023年11月12日   58   0   0 逻辑卷linux文件系统
UYqGUrvNnnTe