haproxy负载均衡

发布于:2025-07-16 ⋅ 阅读:(13) ⋅ 点赞:(0)

haproxy负载均衡

一、配置准备

全局配置

关闭防火墙、上下文

[root@everyone ~]# systemctl stop firewalld
[root@everyone ~]# setenforce 0

haproxy端

[root@hap ~]# yum install -y haproxy

web端

[root@web1/web2 ~]# yum install -y nginx
[root@web1 ~]# echo web1 > /usr/share/nginx/html/index.html
[root@web2 ~]# echo web2 > /usr/share/nginx/html/index.html
[root@web1/web2 ~]# systemctl start nginx

二、haproxy 负载均衡(基于nginx)

haproxy端

修改配置文件

[root@hap ~]# cd /etc/haproxy/
[root@hap haproxy]# vim haproxy.cfg 

启动服务

[root@hap haproxy]# systemctl   start haproxy.service

检验状态

成功

三、KHN Triad

使用 keepalive 监控 haproxy 实现 nginx 的 负载均衡

准备阶段

2台 安装 keepalive 与 haproxy 服务 并改名为 khn-1 与 khn-2

2台 安装 nginx  并修改 默认访问文件

配置文件

KHN端

knh-1端
keepalived配置文件
[root@khn-1 ~]# vim /etc/keepalived/keepalived.conf

脚本编写
[root@khn-1 ~]# vim  /etc/keepalived/check_khn_nginx.sh
[root@khn-1 ~]# chmod +x /etc/keepalived/check_khn_nginx.sh

[root@khn-1 ~]# vim  /etc/keepalived/add_dnat.sh
[root@khn-1 ~]# chmod +x /etc/keepalived/add_dnat.sh

[root@khn-1 ~]# vim /etc/keepalived/remove_dnat.sh
[root@khn-1 ~]# chmod +x  /etc/keepalived/remove_dnat.sh

kaproxy配置文件
[root@khn-1 ~]# vim /etc/haproxy/haproxy.cfg 

khn-2端
keepalived配置文件
[root@khn-2 ~]# vim /etc/keepalived/keepalived.conf

脚本编写
[root@khn-2 ~]# vim  /etc/keepalived/check_khn_nginx.sh
[root@khn-2 ~]# chmod +x /etc/keepalived/check_khn_nginx.sh

[root@khn-2 ~]# vim  /etc/keepalived/add_dnat.sh
[root@khn-2 ~]# chmod +x /etc/keepalived/add_dnat.sh

[root@khn-2 ~]# vim /etc/keepalived/remove_dnat.sh
[root@khn-2 ~]# chmod +x  /etc/keepalived/remove_dnat.sh

haproxy文件
[root@khn-2 ~]# vim /etc/haproxy/haproxy.cfg 

启动服务

[root@khn-1/khn-2 ~]# systemctl start haproxy
[root@khn-1/khn-2 ~]# systemctl start keepalived

查看

故障模拟

停止 khn-1 的 haproxy 服务

khn-1端

keepalived 检测 haproxy 服务停止 所以自己也停止服务

khn-2端

keepalived 检测到 khn-1 的keeplived服务停止,自己接替为主进行服务

此时访问

依旧正常