Nginx教程(4)—Keepalived

news2024/11/17 20:47:15

文章目录

    • 4.1 高可用集群架构Keepalived双机主备原理
    • 4.2 安装Keepalived
    • 4.3 Keepalived核心配置文件
    • 4.4 Keepalived实现双主机主备高可用测试
    • 4.5 高可用集群架构Keepalived双主热备原理

Nginx教程一
Nginx教程二
Nginx教程三

4.1 高可用集群架构Keepalived双机主备原理

我们知道任何服务器都存在着宕机的风险,前面说到在集群中一台服务器宕机后,并不会影响集群的工作,其它服务器依然可以继续处理用户的请求,但不难发现,Nginx本质上也是一个服务器,它也存在着宕机风险,而且当Nginx代理服务器宕机后可能整个系统都会崩溃。所以通常会准备一个备用的Nginx代理服务器,当主服务器宕机后用户仍然可以通过备用的Nginx服务器去分发用户的请求到相应的服务器,这就是Nginx的高可用(HA)

Keepalived概念:keepalived是一个类似于layer3, 4 & 5交换机制的软件,也就是我们平时说的第3层、第4层和第5层交换。Keepalived是自动完成,不需人工干涉。Keepalived的作用是检测服务器的状态,如果有一台web服务器宕机,或工作出现故障,Keepalived将检测到,并将有故障的服务器从系统中剔除,同时使用其他服务器代替该服务器的工作,当服务器工作正常后Keepalived自动将服务器加入到服务器群中,这些工作全部自动完成,不需要人工干涉,需要人工做的只是修复故障的服务器;keepalived是基于VRRP(虚拟路由冗余协议)协议的。
在这里插入图片描述
Keepalived双机主备原理:在原来的处理流程中用户的请求是直接发送到Nginx服务器的,在加入Keepalived服务以后,用户的请求不会直接发送到Nginx服务器,而是先申请一个虚拟IP,由于虚拟IP是和Nginx服务器版定到一起,所以可以通过该虚拟IP直接访问到Nginx服务器的资源,当主Nginx服务器宕机后,用户的虚拟Ip就会和备用的Nginx服务器绑定到一起。

4.2 安装Keepalived

在安装之前首先在之前的一个Nginx服务器的基础上再创建一个Nginx服务器作为备用机(直接将centos7服务器克隆即可),并用FinalShell连接(备用机的IP地址为172.16.23.149)
keepalived官网

在这里插入图片描述

官网上面随便下载一个版本,然后通过FInalSheel上传到Centos的/home/software文件夹下(没有该文件夹创建即可),主备机都要上传都要配置,上传之后解压缩

在这里插入图片描述

配置Keepalived,进入刚刚解压好的目录,进行配置

./configure --prefix=/usr/local/keepalived  --sysconf=/etc/

在这里插入图片描述

然后使用make命令进行编译

make && make install

在这里插入图片描述

编译完成后,就安装完毕了

4.3 Keepalived核心配置文件

打开前面的核心配置文件,keepalive.conf.sample,将我们后面用不到的一些配置可以删除,配置为下面样子即可

在这里插入图片描述

然后启动Keepalived服务,启动之前先看一下该虚拟机的一些ip信息

在这里插入图片描述

启动后,可以看到ens160网卡下多了一项ip地址,也就是我们的VIP

在这里插入图片描述

备用机的配置

在这里插入图片描述

注意如果etc/keepalived下的配置文件为keepalived.conf.samples要改为keepalived.conf,下面以虚拟IP访问一下Nginx服务器,发现成功访问到了Tomcat服务器,Keepalived安装完毕),关闭keepalived只需要杀死相关进程即可

在这里插入图片描述

4.4 Keepalived实现双主机主备高可用测试

上面配置了主机和备机的Keepalived,现在模拟主机的宕机(直接将主机的keepalived进程杀死)

在这里插入图片描述

重新根据VIP访问,发现仍然可以访问,说明备用机开始工作了,重新启动主机后,主机又会重新工作

在这里插入图片描述

4.5 高可用集群架构Keepalived双主热备原理

我们知道备用机的作用是做为主机的一个替身,当主机发生故障以后,备用机才会派上用场,所以如果主机永远都不会发生故障,则备用机资源就被浪费了。这就是双机主备存在的问题,所以出现了双主热备架构,其原理是在两个nginx没有主备用关系,每个Nginx服务器都绑定一个虚拟IP,在处理自己的虚拟Ip的同时,又可以处理另一个机器的虚拟IP,这样两个服务器对于不同的VIP下,是不同的主备关系。

在这里插入图片描述

下面来实现双主热备,首先修改主机的配置

在这里插入图片描述

然后配置从机

在这里插入图片描述

到此双主热备配置完毕,连个VIP都可以访问

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/96438.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【计算机毕业设计】78.汽车租赁系统源码

一、系统截图(需要演示视频可以私聊) 目 录 摘 要 前 言 第1章 概述 1.1 研究背景 1.2 研究目的 1.3 研究内容 第二章 开发技术介绍 2.1 Java技术 2.2 Mysql数据库 2.3 B/S结构 2.4 SSM框架 第三章 系统分析 3.1 可行性分析 3.1.1 技术…

UnrealUBlueprintAsyncActionBase的使用

实现异步调用,之前我们介绍过一种FLatentActionInfo的方法,还有另外一种UBlueprintAsyncActionBase方法,可以实现异步节点,用于异步监听然后进行回调。按照如下步骤进行使用,我们同样以Delay一定帧数,并每帧…

面对新技术,必须找到与其发展相辅相成的长期主义的方法

从Meta股价的一路走低到扎克伯格发布的头显并不被用户买账,Facebook全力拥抱Meta正在经历一场过山车。   扎克伯格和他所带领下的Meta遭遇到的如此多的困境和难题,越来越多地让我们开始相信:所谓的元宇宙并非是一蹴而就的,它是一…

【云原生 Kubernetes】基于 Minikube 搭建第一个k8s集群

一、前言 对于k8s来说,搭建方式有多种,如果是生产环境,一般来说,至少需要3台节点确保服务的高可用性,常用的搭建方式列举如下(提供参考): kubeadm搭建(推荐) …

postman测试环境的创建及发送请求方式

目录 一、创建工作环境 1、打开postman,点击工作区 2、点击新建 3、添加名字,点击创建 4、工作区可以自由切换工作区 5、点击创建发送请求 6、更换请求方式 7、保存测试 二、测试发送请求,使用的时候服务一定要启动 1、普通传参&…

C++ 类型转换

目录 C语言中的类型转换 为什么C需要四种类型转换 C:命名的强制类型转换 static_cast reinterpret_cast const_cast dynamic_cast C语言中的类型转换 在C语言中,如果赋值运算符左右两侧类型不同,或者形参与实参类型不匹配&#xff0c…

信息学奥赛一本通——1163:阿克曼(Ackmann)函数

文章目录1163:阿克曼(Ackmann)函数【题目描述】【输入】【输出】【输入样例】【输出样例】分析代码1163:阿克曼(Ackmann)函数 时间限制:1000ms内存限制:65536KB提交数:24804通过数:20247时间限制: 1000 ms 内存限制: 65536 KB 提交数: 24804 通过数: 202…

第三十章 linux-模块的文件格式与EXPORT_SYMBOL的实现

第三十章 linux-模块的文件格式与EXPORT_SYMBOL的实现 文章目录第三十章 linux-模块的文件格式与EXPORT_SYMBOL的实现模块的文件格式EXPORT_SYMBOL的实现模块的文件格式 以内核模块形式存在的驱动程序,比如demodev.ko,其在文件的数据组织形式上是ELF&am…

数据结构---快速排序

快速排序分治法思想基准元素的选择元素交换双边循环法JAVA实现单边循环法JAVA实现快速排序也是从冒泡排序演化而来使用了 分治法(快的原因)快速排序和冒泡排序共同点:通过元素之间的比较和交换位置来达到排序的目的。 快速排序和冒泡排序不同…

JavaWeb核心:HTTPTomcatServlet

HTTP 概念: Hyper Text Transfer Protocol,超文本传输协议,规定了浏览器和服务器之间数据传输的规则。 HTTP-请求数据格式 HTTP-响应数据格式 响应状态码的大的分类 常见的响应状态码 Tomcat 简介 概念: Tomcat是Apache 软件基金会一个核心项目&#…

【云原生】Prometheus 自定义告警规则

文章目录一、概述二、告警实现流程三、告警规则1)告警规则配置1)监控服务器是否在线3)告警数据的状态四、实战操作1)下载 node_exporter2)启动 node_exporter3)配置Prometheus加载node_exporter4&#xff0…

这样也可以让图像正向扩散

🍿*★,*:.☆欢迎您/$:*.★* 🍿 怎样的扩散取决于b是不是随机噪声 是随机噪声 则是扩散模型 如stable diffision 如果是非噪声则是方向模型 方向模型是指 在已知几个连续的输入 后可以通过模型的辅助预测扩散的方向 而 stable diffision 是通过预测反扩散方向 本质就…

VS2017中OpenCV编程插件Image Watch安装和使用介绍

安装 下载适合vs2017最新版本的Image Watch(ImageWatch.vsix),下载地址 安装ImageWatch,双击ImageWatch.vsix进行安装即可; 使用 打开一个OpenCV工程,在Debug下设置断点,通过view -> other windows -> Image W…

基于51单片机宠物自动投料喂食器控制系统仿真设计( proteus仿真+程序+讲解视频)

基于51单片机宠物自动投料喂食器控制系统仿真设计( proteus仿真程序讲解视频) 仿真图proteus 7.8及以上 程序编译器:keil 4/keil 5 编程语言:C语言 设计编号:S0029 视频讲解 基于51单片机的宠物自动投料喂食器控制系统proteu…

数据结构—最小生成树

目录 一、生成树 二、最小生成树(代价最小树) 三、求最小生成树 1、Prim算法(普里姆) 2.Kruskal 算法(克鲁斯卡尔) 3.Prim算法和Kruskal算法对比 一、生成树 连通图的生成树是包含图中全部顶点的一个…

[附源码]Nodejs计算机毕业设计基于框架的秧苗以及农产品交易网站Express(程序+LW)

该项目含有源码、文档、程序、数据库、配套开发软件、软件安装教程。欢迎交流 项目运行 环境配置: Node.js Vscode Mysql5.7 HBuilderXNavicat11VueExpress。 项目技术: Express框架 Node.js Vue 等等组成,B/S模式 Vscode管理前后端分…

算法分析专业工具——大O记法

本文内容借鉴一本我非常喜欢的书——《数据结构与算法图解》。学习之余,我决定把这本书精彩的部分摘录出来与大家分享。 写在前面 从之前的章节中我们了解到,影响算法性能的主要因素是其所需的步数。 然而,我们不能简单地把一个算法记为“…

Postman下载,安装,汉化,注册及登录教程

目录 一、Postman简介 二、Postman的注册 1、首先下载Postman,进入官网:Download Postman | Get Started for Free 2、安装Postman 3、下载汉化包 4、找到所下载的app.zip文件,将文件进行解压,放置到此路径下 Postman\app9…

代码随想录Day52|300.最长递增子序列、674.最长连续递增序列、718.最长重复子数组

文章目录300.最长递增子序列674.最长连续递增序列718.最长重复子数组300.最长递增子序列 文章讲解:代码随想录 (programmercarl.com) 题目链接:300. 最长递增子序列 - 力扣(LeetCode) 题目: 给你一个整数数组 nums…

Eclipse常用开发配置

Eclipse常用开发配置1. 编码配置1.1 输出中文乱码问题1.2 Java文件中文乱码2. 切换JDK、修改JRE3. 错误:找不到或无法加载主类4. 修改字体大小4.1 修改编辑窗口字体大小4.2 修改编译器字体大小5. 新建Java项目6. 导入项目6.1 导入git6.2 导入已有Java项目7. 运行中文…