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 统计页面(需在配置中开启)。

相关推荐
不做无法实现的梦~1 分钟前
PX4 机载电脑 Linux 环境安装、串口、网络、ROS 完整配置
linux·运维·网络
嵌入式×边缘AI:打怪升级日志1 分钟前
嵌入式Linux开发(了解交叉编译工具链的组成)
java·linux·运维
李小白202002028 分钟前
RK3568 linux6.1 死机
linux·运维·服务器
FreeGo~10 分钟前
Linux 系统编程 进程篇 (五)
java·linux·服务器
杨云龙UP22 分钟前
Oracle数据库启动失败:ORA-29701、ORA-01565、ORA-17503故障处理记录_20260429
linux·运维·数据库·oracle·centos
handler011 小时前
Git 核心指令速查
linux·c语言·c++·笔记·git·学习
Gary Studio1 小时前
ubuntu 16.04一键换源
linux·运维·ubuntu
又来敲代码了1 小时前
k8s的部署
linux·运维·云原生·容器·kubernetes
IT WorryFree2 小时前
FGT-KVM 完整部署极简教程(CentOS 7 + KVM 环境)
linux·运维·centos
一袋米扛几楼982 小时前
【报错问题】彻底解决 TypeScript 报错 TS2769: No overload matches this call (JWT 篇)
linux·javascript·typescript