实现keepalive+Haproxyde 的高可用

news2024/11/15 15:34:36

需要准备五台实验机

一台客户机:test1

两台:一主一备的实验机:test2 test3

两台真实服务器:nginx1 nginx2

实验

首先在两台实验机上安装Haproxy

安装依赖环境,并将Haproxy的包进行解压处理

yum install -y pcre-devel bzip2-devel gcc gcc-c++ make

安装完依赖环境 对Haproxy的压缩包进行解压,进入到Haproxy的配置文件中,查看他的版本,target使用的版本要大于linux2.60以上的版本 make install进行编译安装

在etc下创建一个Haproxy目录 将主配置文件复制到ect/haproxy里

进入到目录下修改配置文件

将日志放到指定的位置并设置级别

将并发线程设置为cpu的2倍或者和cpu保持一致

设置连接时间

timeout http-request 10s: 设置HTTP请求的超时时间为10秒。

timeout queue 1m: 设置请求队列的超时时间为1分钟。

timeout connect 10s: 设置连接建立的超时时间为10秒。

timeout client 1m: 设置客户端连接的超时时间为1分钟。

timeout server 1m: 设置服务器端连接的超时时间为1分钟。

timeout http-keep-alive 10s: 设置HTTP keep-alive 的超时时间为10秒。

timeout check 10s: 设置健康检查的超时时间为10秒。

然后配置七层转发

访问真实的服务器地址

修改完配置文件后  将初始化文件复制到/etc/init.d/haproxy  并赋予权限,创建软链接让系统可以识别命令

要先创建一个脚本监控keepalive。在两台试验机安装keepalive设置一主一备

修改邮箱地址

命名一个id IP名称不能一样

添加一个vrrp脚本模块

修改模块内容 网卡信息 优先级

VIP地址

vim /opt/check_haproxy.sh
#内容如下
#!/bin/bash
/usr/bin/curl -I http://localhost &>/dev/null
#指定curl命令的路径调用curl命令
#curl -I 仅查看http响应头部信息,而不用下载页面内容,常用于状态检查
if [ $? -ne 0 ]
then
 systemctl stop keepalived
fi

在备上  修改一个名字  和优先级即可

查看两台keepalive的配置是否正确VIP地址是否正常先测试一下两台是否可以访问真实的服务器

然后关闭test2的keepalive看一下vip是否会实现转移

脚本要给执行权限否则执行不了

客户机访问正常

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

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

相关文章

什么ISP?什么是IAP?

做单片机开发的工程师经常会听到两个词:ISP和IAP,但新手往往对这两个概念不是很清楚,今天就来和大家聊聊什么是ISP,什么是IAP? 一、ISP ISP的全称是:In System Programming,即在系统编程&…

vscode常用组件

1.vue-helper 启用后点击右下角注册,可以通过vue组件点击到源码里面 2.【Auto Close Tag】和【Auto Rename Tag】 3.setting---Auto Reveal Exclude vscode跳转node_modules下文件,没有切换定位到左侧菜单目录> 打开VSCode的setting配置&#xff…

Redis的使用(四)常见使用场景-缓存使用技巧

1.绪论 redis本质上就是一个缓存框架,所以我们需要研究如何使用redis来缓存数据,并且如何解决缓存中的常见问题,缓存穿透,缓存击穿,缓存雪崩,以及如何来解决缓存一致性问题。 2.缓存的优缺点 2.1 缓存的…

Transformer模型解析:走进自然语言处理的新时代

UPDATED:2023 年 1 月 27 日,本文登上 ATA 头条。(注:ATA 全称 Alibaba Technology Associate,是阿里集团最大的技术社区)UPDATED:2023 年 2 月 2 日,本文在 ATA 获得鲁肃点赞。&…

华为OD算法题汇总

60、计算网络信号 题目 网络信号经过传递会逐层衰减,且遇到阻隔物无法直接穿透,在此情况下需要计算某个位置的网络信号值。注意:网络信号可以绕过阻隔物 array[m][n],二维数组代表网格地图 array[i][j]0,代表i行j列是空旷位置 a…

数据结构(4.0)——串的定义和基本操作

串的定义(逻辑结构) 串,即字符串(String)是由零个或多个字符组成的有序数列。 一般记为Sa1a2....an(n>0) 其中,S是串名,单引号括起来的字符序列是串的值;ai可以是字母、数字或其他字符;串中字符的个数n称为串的长度。n0时的…

分布式对象存储minio

本教程minio 版本:RELEASE.2021-07-*及以上 1. 分布式文件系统应用场景 互联网海量非结构化数据的存储需求 电商网站:海量商品图片视频网站:海量视频文件网盘 : 海量文件社交网站:海量图片 1.1 Minio介绍 MinIO 是一个基于Ap…

Spring解决循环依赖:三级缓存

1.什么是循环依赖 通俗来讲,循环依赖指的是一个实例或多个实例存在相互依赖的关系(类之间循环嵌套引用)。 2.Spring如何解决循环依赖 首先,先介绍Spring是如何创建Bean的。 (1)createBeanInstance&…

【LoadRunner】博客笔记项目 性能测试报告

文章目录 前言一、博客笔记项目性能测试介绍二、编写性能测试脚本(VUG) 2.1 测试脚本编写步骤 2.2 脚本总代码和结果分析三、创建测试场景(Controller) 3.1 测试场景创建实现步骤四、生成测试报告(Anal…

集合相关知识

string final,不能追加,需要重新new一个 stringbuild,内容 可变,可以重新赋能,能够追加,空间不足创造一个更大的,然后复制过去 stringbufferbuild 线程安全 javac编译,字符串加号…

SpringBoot介绍以及第一个SpringBoot程序

T04BF 👋专栏: 算法|JAVA|MySQL|C语言 🫵 今天你敲代码了吗 文章目录 2.第一个SpringBoot程序2.1Spring Boot介绍2.2使用idea创建Spring Boot程序2.2.1 社区版idea2.2.2专业版idea2.2.3创建SpringBoot项目2.2.4项目代码和目录介绍目录介绍pom文件 2.3Web…

Linux 上 TTY 的起源

注:机翻,未校对。 What is a TTY on Linux? (and How to Use the tty Command) What does the tty command do? It prints the name of the terminal you’re using. TTY stands for “teletypewriter.” What’s the story behind the name of the co…

【边缘计算网关教程】6.松下 Mewtocol TCP 协议

前景回顾:【边缘计算网关教程】5.三菱FX3U编程口通讯-CSDN博客 松下 Mewtocol TCP 协议 适配PLC:松下FP0H 松下XHC60ET 1. 硬件连接 Mewtocol TCP协议采用网口通信的方式,因此,只需要保证网关的LAN口和松下PLC的IP在一个网段即…

STM32怎么把VDD与VSS引脚配置为GPIO?

在 STM32 微控制器中,VDD 和 VSS 引脚是供电引脚,分别用于电源和接地。我收集归类了一份嵌入式学习包,对于新手而言简直不要太棒,里面包括了新手各个时期的学习方向编程教学、问题视频讲解、毕设800套和语言类教学,敲个…

使用base64通用文件上传

编写一个上传文件的组件 tuku,点击图片上传后使用FileReader异步读取文件的内容&#xff0c;读取完成后获得文件名和base64码&#xff0c;调用后端uploadApi,传入姓名和base64文件信息&#xff0c;后端存入nginx中&#xff0c;用于访问 tuku.ts组件代码&#xff1a; <templa…

变量筛选—特征包含信息量

在变量筛选中,通过衡量特征所包含信息量大小,决定是否删除特征,常用的指标有单一值占比、缺失值占比和方差值大小。单一值或缺失值占比越高,表示特征包含信息量越少,不同公司设置不同阈值,一般单一值、缺失值占比高于95%,建议删除。方差值越小,代表特征包含信息量越小。…

JMeter进行HTTP接口测试的技术要点

参数化 用户定义的变量 用的时候 ${名字} 用户参数 在参数列表中传递 并且也是${} csv数据文件设置 false 不忽略首行 要首行 从第一行读取 true 忽略首行 从第二行开始 请求时的参数设置&#xff1a; 这里的名称是看其接口需要的请求参数的名称 这里的变量名称就是为csv里面…

C语言程序设计实例2

C语言程序设计2 问题2_1代码2_1结果2_1 问题2_2代码2_2结果2_2 问题2_3代码2_3结果2_3 问题2_1 函数 f u n fun fun的功能是&#xff1a;计算如下公式前 n n n项的和&#xff0c;并作为函数值返回。 S 1 3 2 2 3 5 4 2 5 7 6 2 ⋅ ⋅ ⋅ ( 2 n − 1 ) ( 2 n 1 ) …

Linux操作系统——数据库

数据库 sun solaris gnu 1、分类&#xff1a; 大型 中型 小型 ORACLE MYSQL/MSSQL SQLITE DBII powdb 关系型数据库 2、名词&#xff1a; DB 数据库 select update database DBMS 数据…

Sql语句之增删改查(CRUD)

Sql语句的书写也被称之为CRUD&#xff0c;即C&#xff08;Create增加&#xff09;R&#xff08;Retrieve添加&#xff09;U&#xff08;Update更新&#xff09;D&#xff08;Delete删除&#xff09;四个操作的首字母。 我们先来看增、删、改这三个相对较为简单&#xff0c;语法…