您现在的位置是:首页 >技术教程 >Nginx反向代理+Keepalived实现Nginx高可用网站首页技术教程

Nginx反向代理+Keepalived实现Nginx高可用

zhangchang3 2023-06-17 00:00:03
简介Nginx反向代理+Keepalived实现Nginx高可用

Keepalived概述:
keepalived 是一个类似于 layer3, 4 & 5 交换机制的软件,也就是我们平时说的第 3 层、第 4 层和第 5层交换。 Keepalived 的作用是检测 web 服务器的状态,如果有一台 web 服务器死机,或工作出现故障,Keepalived 将检测到,并将有故障的 web 服务器从系统中剔除,当 web 服务器工作正常后 Keepalived 自动将web 服务器加入到服务器群中,这些工作全部自动完成,不需要人工干涉,需要人工做的只是修复故障的web 服务器。

 

拓展一下Keepalived工作原理:

Layer3,4&5 工作在 IP/TCP 协议栈的 IP 层, TCP 层,及应用层,。
Layer3: Keepalived 使用 Layer3 的方式工作式时, Keepalived 会定期向服务器群中的服务器发送一个 ICMP 的数据包(既我们平时用的 Ping 程序) , 如果发现某台服务的 IP 地址没有激活,Keepalived 便报告这台服务器失效,并将它从服务器群中剔除,这种情况的典型例子是某台服务器被非法关机。 Layer3 的方式是以服务器的 IP 地址是否有效作为服务器工作正常与否的标准。
Layer4: 主要以 TCP 端口的状态来决定服务器工作正常与否。如 web server 的服务端口一般是80,如果 Keepalived 检测到 80 端口没有启动,则 Keepalived 将把这台服务器从服务器群中删除。
Layer5: Layer5 就是工作在具体的应用层了,比 Layer3,Layer4 要复杂一点,在网络上占用的带宽也要大一些。 Keepalived 将根据用户的设定检查服务器程序的运行是否正常,如果与用户的设定不相符,则 Keepalived 将把服务器从服务器群中剔除。
 

网络拓扑图:

环境准备以及规划:
Client IP: 192.168.50.24
VIP:192.168.50.50
Nginx负载均衡IP1,Keepalived MASTER节点:192.168.50.20
Nginx负载均衡IP2,Keepalived BACKUP节点:192.168.50.21
Web站点1:192.168.50.22
Web站点1:192.168.50.23

步骤一:nginx负载均衡器配置

1.安装Nginx部署可参考

(176条消息) LNMP网站框架搭建(编译安装的方式)_zhangchang3的博客-CSDN博客

2 Nginx反向代理配置部分如下

上面的upstream 后面的服务器组名abc_server ,upstream不能识别,要把下划线去掉,改为abcserver才可以,不然报错,服务起来不

 安装Keepalived:

1. 使用yum 进行安装
yum install keepalived -y


2. 配置keepalived.conf,设置MASTER/BACKUP(主备)

MASTER配置:

 

备配置文件

直接远程复制 scp keepalived.conf 192.168.50.21:`pwd`,然后修改配置文件

编写Nginx检查脚本,给脚本赋执行权限

vim /etc/keepalived/nginx_check.sh

chmod 755 /etc/keepalived/nginx_check.sh

 

步骤二:节点服务器配置

192.168.50.22 和192.168.50.23yum安装http服务,做nginx调度器的节点服务器

systemctl stop firewalld 

setenforce 0

yum -y install httpd

systemctl start httpd

准备网站首页文档

echo "<h1> this is web1 test  side " > /var/www/html/index.html

echo "<h1> this is web2 test  side " > /var/www/html/index.html

步骤三:实验验证

1 在客户机中输入VIP,有负载均衡的效果

 2 关闭主调度器的nginx,同样在客户机中输入VIP访问

 

风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。