haproxy实验
一.实验环境部署
准备三台虚拟机,一台服务器两台web
服务器网段为172.25.254.100,web1网段172.25.254.10,web2网段172.25.254.20
服务端安装haproxy
dnf install haproxy -y
web1,web2安装nginx
dnf install nginx -y
echo web1 > /usr/share/nginx/html/index.html
echo web2 > /usr/share/nginx/html/index.html
systemctl enable --now nginx.service
二.haproxy基本实验
haproxy基本配置实现负载均衡
多进程的实现
多线程对比,多进程与多线程互相排斥
haproxy日志分离,需开启udp协议
三.haproxy代理配置
server配置
制作错误页面
172.25.254.100中安装httpd
dnf install httpd -y
改端口8080避免冲突
访问重定向和disable
socat工具
添加权限
安装
dnf install socat -y
查看状态
echo "show info" | socat stdio /var/lib/haproxy/stats
echo "show servers state" | socat stdio /var/lib/haproxy/stats
haproxy的算法
static-rr
first
动态算法
roundrobin
leastconn
其他算法
socurce
url
hdr
状态页
高级功能
cookie
ip透传
acl
hdr_dom
hdr_end
hdr_beg
base_sub -m
base_reg
path_sub -m
基于域名
基于源IP和子网调动访问
拒接
基于浏览器
基于文件后缀名实现动静分离
匹配访问路径实现动静分离
基于http重定向输出错误
mkdir /etc/haproxy/errorpages -p
四层负载
准备数据库
dnf install mariadb-server -y
证书制定
mkdir -p /etc/haproxy/certs