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

此时访问
依旧正常

