haproxy负载均衡

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服务停止,自己接替为主进行服务

此时访问

依旧正常

相关推荐
qq_479875432 小时前
X-Macros(1)
linux·服务器·windows
ζั͡山 ั͡有扶苏 ั͡✾4 小时前
EFK 日志系统搭建完整教程
运维·jenkins·kibana·es·filebeat
jun_bai4 小时前
python写的文件备份网盘程序
运维·服务器·网络
Warren984 小时前
Python自动化测试全栈面试
服务器·网络·数据库·mysql·ubuntu·面试·职场和发展
欢喜躲在眉梢里5 小时前
CANN 异构计算架构实操指南:从环境部署到 AI 任务加速全流程
运维·服务器·人工智能·ai·架构·计算
weixin_537765805 小时前
【容器技术】虚拟化原理与Docker详解
运维·docker·容器
胡斌附体5 小时前
docker健康检查使用
运维·docker·依赖·健康检查
云飞云共享云桌面6 小时前
无需配置传统电脑——智能装备工厂10个SolidWorks共享一台工作站
运维·服务器·前端·网络·算法·电脑
福尔摩斯张6 小时前
《C 语言指针从入门到精通:全面笔记 + 实战习题深度解析》(超详细)
linux·运维·服务器·c语言·开发语言·c++·算法
虚伪的空想家6 小时前
arm架构服务器使用kvm创建虚机报错,romfile “efi-virtio.rom“ is empty
linux·运维·服务器·javascript·arm开发·云原生·kvm