HAProxy实验

HAProxy 七层负载均衡部署与配置实战
一、实验说明

本实验部署 HAProxy 作为 HTTP/HTTPS 负载均衡器,将请求分发到多个后端应用服务器,实现服务的高可用与会话保持。
二、知识点讲解

HAProxy 定位:支持四层和七层负载均衡,常用于 Web 服务、数据库等场景,支持丰富的健康检查和会话保持策略。

核心组件:

frontend:接收客户端请求,定义监听端口和协议。

backend:定义后端服务器池和调度策略。

listen:同时定义 frontend 和 backend,适用于简单场景。

健康检查:支持 HTTP、TCP、SSL 等多种健康检查方式,自动剔除故障节点。
三、操作步骤

1、安装 HAProxy

复制代码
yum install -y haproxy

2、编辑配置文件 /etc/haproxy/haproxy.cfg

复制代码
global
    log         127.0.0.1 local2
    chroot      /var/lib/haproxy
    pidfile     /var/run/haproxy.pid
    maxconn     4000
    user        haproxy
    group       haproxy
    daemon

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 main
    bind *:80
    default_backend app_servers

backend app_servers
    balance     roundrobin
    server  app1 192.168.1.20:80 check
    server  app2 192.168.1.21:80 check

3、启动服务

复制代码
systemctl start haproxy
systemctl enable haproxy

4、测试验证

(1)访问 http://192.168.1.10(HAProxy 地址),验证负载分发。

(2)查看 HAProxy 统计页面(需在配置中开启)。

相关推荐
bksheng几秒前
【OpenClaw】解决 OpenClaw 飞书插件冲突导致的配对失败问题
linux·服务器·飞书
程序设计实验室1 分钟前
什么年代了怎么还在用bash啊?现代化shell开箱体验: fish, nu, elvish
linux
路溪非溪21 分钟前
Linux下iw工具的使用总结
linux·网络·arm开发·驱动开发
arvin_xiaoting24 分钟前
OpenClaw Agent与Sub-agent架构深度分析:关系、通信与权限隔离
java·linux·架构·多智能体·ai agent·openclaw·sub-agent
一只自律的鸡38 分钟前
【Linux系统编程】进程 守护进程与实现/系统日志
linux·运维·服务器
tobias.b42 分钟前
ubuntu 系统维护
linux·运维·ubuntu
门豪杰1 小时前
使用WSL2安装Ubuntu子系统
linux·运维·ubuntu·wsl
面对疾风叭!哈撒给1 小时前
Linux之Docker使用JDK21安装包制作JDK21镜像包
java·linux·运维·docker
九皇叔叔1 小时前
【保姆级教程】CentOS 7.5/RHEL 7.x 编译安装 Redis 6.0.1
linux·redis·centos
RisunJan1 小时前
Linux命令-mail (发送和接收电子邮件)
linux·服务器