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

此时访问

依旧正常

相关推荐
毕竟是shy哥8 小时前
vs code连接远程服务器docker环境及配置免密登录
服务器·docker·vs code
徐小黑ACG9 小时前
nginx配置文件
linux·服务器·nginx
新时代牛马9 小时前
Linux VFS 完整篇:从path_openat、dentry/inode 到page cache 与挂载排障
linux·运维·服务器
cloudfantasy10 小时前
docker直接二进制安装,非编译。KylinV10SP3 aarch64有效
运维·docker
新时代牛马11 小时前
Linux 驱动中断与定时完整篇:从 request_threaded_irq 到hrtimer 选型与排障
linux·运维·服务器
考虑考虑11 小时前
nginx打印请求日志
运维·后端·nginx
数字补给站13 小时前
Windows 10 + Hyper-V + Terraform + cloud-init:批量产出 3 台 Ubuntu 的实践笔记
运维·ai编程
这个DBA有点耶13 小时前
同样48核配置TPS差1倍?高性价比数据库一体机的“软硬协同”才是分水岭
服务器·数据库·架构
海鸥8117 小时前
AIOps(智能运维)理解
运维·人工智能
码农小韩17 小时前
Linux应用开发(一)——Linux的标准IO
linux·运维·服务器