Heartbeat+Nginx实验
Heartbeat+Nginx实验
Heartbeat是什么?
- Heartbeat是 Linux-HA 工程的一个组件,自1999 年开始到现在,发布了众多版本,是目前开源 Linux-HA项 目成功的一个例子,在行业内得到了广泛的应用
构建规划:
- 两台后端的服务器11/12
- 两台都安装nginx
- 两台都安装ntp服务–>对于时间的要求要一致
- 配置主机名–>主机名要不同–>并且定位到hosts文件
- 两台服务器都有一个vip的ip–>100
实验部署
- 两台服务器11/12都安装nginx
- 并且给与不同的页面
#安装nginx-->两天服务器都需要操作#准备好nginx的源码包-->使用源码安装
[root@node1 ~]# ls nginx-1.16.1.tar.gz
nginx-1.16.1.tar.gz
[root@node1 ~]# #创建nginx的用户
[root@node1 ~]# useradd -s /sbin/nologin -M nginx#安装必要的依赖工具
[root@node1 nginx-1.16.1]# yum -y install gcc gcc-c++ zlib zlib-devel pcre pcre-devel openssl openssl-devel#解压包-->预编译、编译、安装nginx#这里指定nginx的用户是nginx
[root@node1 ~]# tar -xf nginx-1.16.1.tar.gz
[root@node1 ~]# cd nginx-1.16.1
[root@node1 nginx-1.16.1]#
[root@node1 nginx-1.16.1]# ./configure --prefix=/usr/local/nginx --user=nginx --group=nginx && make && make install#创建各自的页面
[root@node1 nginx-1.16.1]# cd /usr/local/nginx/html/
[root@node1 html]# vim index.html
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa#另外一个网页信息
[root@node2 ~]# vim /usr/local/nginx/html/index.html
BBBBBBBBBBBBBBBB
- 保证两台服务器都要统一时间
- 安装ntp服务
-->node1为ntp服务器-->node1配置如下
#直接安装ntp
[root@node1 ~]# yum -y install ntp#这里是以node1来作为时间服务器
[root@node1 ~]# cp /etc/ntp.conf{,.bak}
[root@node1 ~]# vim /etc/ntp.conf
...........#指定自己的网段15 restrict 192.168.75.0 mask 255.255.255.0 nomodify notrap
.......#注释系统默认的23 #server 0.centos.pool.ntp.org24 #server 1.centos.pool.ntp.org25 #server 2.centos.pool.ntp.org#手工添加这两行26 server 127.127.1.027 fudge 127.127.1.0 stratum 10#启动服务
[root@node1 ~]# /etc/init.d/ntpd start
[root@node1 ~]# date
Thu Feb 9 10:51:03 CST 2023--->node2配置如下#直接安装ntp
[root@node2 ~]# yum -y install ntp#先查看一下时间
[root@node2 ~]# date
Tue Feb 7 02:56:39 CST 2023#然后直接使用命令同步
[root@node2 ~]# ntpdate 192.168.75.11#然后检查时间
[root@node2 ~]# date
Thu Feb 9 10:55:15 CST 2023
- 两台服务器都配置各自的域名,并且能够对应上ip
#把域名和ip写入hosts文件
[root@node1 ~]# vim /etc/hosts
........
192.168.75.11 www.node1.net
192.168.75.12 www.node2.com
两台服务器都安装heartbeat
- 准备好压缩包
- 注意接下来的操作都是两台服务器都配置;
#准备好heartbeat-3.0的版本
[root@localhost ~]# ls heartbeat.tar.gz
heartbeat.tar.gz#解压-->直接安装
[root@localhost ~]# tar -xf heartbeat.tar.gz
[root@localhost ~]# cd heartbeat
[root@localhost heartbeat]# ls
...........#然后直接安装
[root@localhost heartbeat]# yum -y install *#准备好配置文件到/etc/ha.d/目录下
[root@localhost heartbeat]# cd /usr/share/doc/heartbeat-3.0.4/
[root@localhost heartbeat-3.0.4]# cp -a ha.cf authkeys haresources /etc/ha.d/#先生成密钥的随机数
[root@localhost heartbeat-3.0.4]# dd if=/dev/random bs=512 count=1 | openssl md5
0+1 records in
0+1 records out
78 bytes (78 B) copied, 2.9833e-05 s, 2.6 MB/s
(stdin)= 806d2d668b7a72f65506bcde2b09c3b2#修改一下authkeys文件#在node0上面修改-->#注意一下路劲
[root@localhost heartbeat-3.0.4]# pwd
/usr/share/doc/heartbeat-3.0.4#修改authkeys文件
[root@localhost heartbeat-3.0.4]# vim authkeys #在文件的末尾添加以下的内容-->那一串的密钥是上面生成的密钥
auth 3
3 md5 806d2d668b7a72f65506bcde2b09c3b2#最后修改一下文件的权限
[root@localhost heartbeat-3.0.4]# chmod 600 authkeys #验证一下主机名和ip的对应关系-->保证能够访问#这里就可以顺势起来nginx
[root@localhost heartbeat-3.0.4]# /usr/local/nginx/sbin/nginx
[root@localhost heartbeat-3.0.4]# curl www.node1.net
bbbbbbbbbb
[root@localhost heartbeat-3.0.4]# curl www.node0.net
aaaaaaaaaa#修改主配置文件-->修改/etc/ha.d/ha.cf
[root@localhost heartbeat-3.0.4]# vim /etc/ha.d/ha.cf
............#添加一下三行92 bcast eth0 # Linux93 node www.node0.net94 node www.node1.net#在node0上面对haresources文件进行修改#等于切换到VIP的ip
[root@localhost heartbeat-3.0.4]# vim /etc/ha.d/haresources
.............#在末行添加如下信息
www.node0.net IPaddr::192.168.75.100/24:/eth0:0#操作完成之后吧配置文件都给到node1上面
[root@localhost ha.d]# cd /etc/ha.d/
[root@localhost ha.d]# scp ha.cf haresources authkeys root@www.node1.net:/etc/ha.d/#然后启动服务器验证
[root@www ~]# service heartbeat start
相关文章:
Heartbeat+Nginx实验
HeartbeatNginx实验 Heartbeat是什么? Heartbeat是 Linux-HA 工程的一个组件,自1999 年开始到现在,发布了众多版本,是目前开源 Linux-HA项 目成功的一个例子,在行业内得到了广泛的应用 构建规划: 两台后…...

JavaEE|网络编程之套接字 TCP
文章目录一、ServerSocket API构造方法常用方法二、Socket API构造方法常用方法注意事项三、TCP中的长短连接E1:一发一收(短连接)E2:请求响应(短连接)E3:多线程下的TCP回响服务器说明:这部分说实话有点懵&a…...

Robot Framework自动化测试---元素定位
不要误认为Robot framework 只是个web UI测试工具,更正确的理解Robot framework是个测试框架,之所以可以拿来做web UI层的自动化是国为我们加入了selenium2的API。比如笔者所处工作中,更多的是拿Robot framework来做数据库的接口测试…...
ASP.NET Core中的路由
传统路由 app.MapControllerRoute( name: "default", pattern: "{controllerHome}/{actionIndex}/{id?}"); MapControllerRoute用于创建单个路由。 单个路由命名为 default 路由 。大多数具有控制器和视图的应用都使用类似 default 路由的路由模板。 之所…...

VBA提高篇_26 Textbox多行_ListBox_ComboBox
文章目录1. 文本框多行换行2. ListBox: 列表框2.1 列表框中添加条目的三种方法:3. ComboBox 组合框: 属性方法等同于以上ListBox1. 文本框多行换行 MultiLine: 控制文本框多行自动换行() Enterkeybehevior: True 代表允许在文本框中使用回车键换行 WordWrap: True 代表自动换…...

python环境配置
python环境配置一、ADB环境配置1、ADB下载路径:2、点击下载3、解压并放到本地磁盘4、配置ADB环境变量二、Python环境配置1、Python下载路径:2、点击下载(默认下载最新的)3、解压并放到本地磁盘4、配置Python环境变量5、配置pip环境变量三、Pycharm安装1、pycharm下载路径:2、点…...

集算器连接外部库
1. 配置jar包将以下jar包从报表的类路径(【安装根目录】\report\lib或【安装根目录】\report\web\webapps\demo\WEB-INF\lib)中拷贝到集算器目录(【安装根目录】\esProc\ extlib\mongoCli);润乾外部库核心jar为:scu-mo…...

力扣刷题|216.组合总和 III、17.电话号码的字母组合
文章目录LeetCode 216.组合总和题目链接🔗思路LeetCode 17.电话号码的字母组合题目链接🔗思路LeetCode 216.组合总和 题目链接🔗 LeetCode 216.组合总和 思路 本题就是在[1,2,3,4,5,6,7,8,9]这个集合中找到和为n的k个数的组合。 相对于7…...

机器学习笔记之谱聚类(一)k-Means聚类算法介绍
机器学习笔记之谱聚类——K-Means聚类算法介绍引言回顾:高斯混合模型聚类任务基本介绍距离计算k-Means\text{k-Means}k-Means算法介绍k-Means\text{k-Means}k-Means算法示例k-Means\text{k-Means}k-Means算法与高斯混合模型的关系k-Means\text{k-Means}k-Means算法的…...

云原生周刊 | 2023 年热门:云 IDE、Web Assembly 和 SBOM | 2023-02-20
在 CloudNative SecurityCon 上,云原生计算基金会的首席技术官 Chris Aniszczyk 在 The New Stack Makers 播客的这一集中强调了 2023 年正在形成几个趋势: 随着 GitHub 的 Codespaces 平台通过集成到 GitHub 服务中获得认可,云 IDE…...

python 打包EXE
注: 从个人博客园 移植而来 环境: Windows7 Python 2.7 参考: 使用pyinstaller打包python程序 Pyinstaller 打包发布经验总结 Using PyInstaller 简介 使用python引用第三方的各种模块编写一个工具后,如果想发给其他人&…...

CANopen概念总结、心得体会
NMT网络管理报文: NMT 主机和 NMT 从机之间通讯的报文就称为 NMT 网络管理报文。常见报文说明: 0101---------------网络报文发送Nmt_Start_Node,让电机进入OP模式(此时还不会发送同步信号) setState(d, Operational)------------------开启…...

【2】MYSQL数据的导入与导出
文章目录 MYSQL-库(相同库名称)的导入导出MYSQL-库(不同库名称)的导入导出MYSQL-表的导入导出MYSQL-表的指定查询记录导入导出前提: 客户端工具是:SQLyog MYSQL-库(相同库名称)的导入导出 1、选中指定库——右键,选择【将数据库复制到不同的主机/数据库】 2、选中指…...

Kaggle系列之CIFAR-10图像识别分类(残差网络模型ResNet-18)
CIFAR-10数据集在计算机视觉领域是一个很重要的数据集,很有必要去熟悉它,我们来到Kaggle站点,进入到比赛页面:https://www.kaggle.com/competitions/cifar-10CIFAR-10是8000万小图像数据集的一个子集,由60000张32x32彩…...

ESP-C3入门11. 创建最基本的HTTP请求
ESP-C3入门11. 创建最基本的HTTP请求一、menuconfig配置二、配置 CMakeLists1. 设置项目的额外组件目录2. 设置头文件搜索目录三、在 ESP32 上执行 HTTP 请求的基本步骤1. 创建 TCP 连接2. 设置 HTTP 请求3. 发送 HTTP 请求4. 接收 HTTP 响应5. 处理 HTTP 响应6. 关闭 TCP 连接…...

K8S+Jenkins+Harbor+Docker+gitlab集群部署
K8SJenkinsHarborDockergitlab服务器集群部署 目录K8SJenkinsHarborDockergitlab服务器集群部署1.准备以下服务器2.所有服务器统一处理执行2.1 关闭防火墙2.2 关闭selinux2.3 关闭swap(k8s禁止虚拟内存以提高性能)2.4 更新yum (看需要更新)2.5 时间同步2…...

看见统计——第四章 统计推断:频率学派
看见统计——第四章 统计推断:频率学派 接下来三节的主题是中心极限定理的应用。在不了解随机变量序列 {Xi}\{X_i\}{Xi} 的潜在分布的情况下,对于大样本量,中心极限定理给出了关于样本均值的声明。例如,如果 YYY 是一个 N(0&am…...

2023年2月访问学者博士后热门国家出入境政策变化汇总
近期关于出国的咨询量日益增多,出入境政策也是其中之一。所以本期知识人网小编汇总了最新访问学者和博士后关注的热门国家及地区入境政策变化,提供给大家。目前各国入境政策大致分为三种:一、 无法入境的国家如:摩洛哥、朝鲜等。二…...

“离开浪浪山”是假象,80%年轻人下班后还在学习,真实是想先上个山。
最近,又有一个关于年轻人与职场的新词横空出世—— 浪浪山。 什么是浪浪山? 每个人心中都有一座浪浪山。 浪浪山,其实是人生的一种状态,步入社会时满腔热血,然而很快就被现实给修理了一顿;想要辞职不干出去…...

Kotlin 33. CompileSdkVersion 和 targetSdkVersion 有什么区别?
CompileSdkVersion 和 targetSdkVersion 有什么区别? 在 build.gradle (Module) 文件中,我们通常会看到 CompileSdkVersion 和 targetSdkVersion 的使用,比如下面是一个完整的 build.gradle (Module) 文件: plugins {id com.and…...
RestClient
什么是RestClient RestClient 是 Elasticsearch 官方提供的 Java 低级 REST 客户端,它允许HTTP与Elasticsearch 集群通信,而无需处理 JSON 序列化/反序列化等底层细节。它是 Elasticsearch Java API 客户端的基础。 RestClient 主要特点 轻量级ÿ…...

装饰模式(Decorator Pattern)重构java邮件发奖系统实战
前言 现在我们有个如下的需求,设计一个邮件发奖的小系统, 需求 1.数据验证 → 2. 敏感信息加密 → 3. 日志记录 → 4. 实际发送邮件 装饰器模式(Decorator Pattern)允许向一个现有的对象添加新的功能,同时又不改变其…...
Spring Boot 实现流式响应(兼容 2.7.x)
在实际开发中,我们可能会遇到一些流式数据处理的场景,比如接收来自上游接口的 Server-Sent Events(SSE) 或 流式 JSON 内容,并将其原样中转给前端页面或客户端。这种情况下,传统的 RestTemplate 缓存机制会…...

【项目实战】通过多模态+LangGraph实现PPT生成助手
PPT自动生成系统 基于LangGraph的PPT自动生成系统,可以将Markdown文档自动转换为PPT演示文稿。 功能特点 Markdown解析:自动解析Markdown文档结构PPT模板分析:分析PPT模板的布局和风格智能布局决策:匹配内容与合适的PPT布局自动…...
【AI学习】三、AI算法中的向量
在人工智能(AI)算法中,向量(Vector)是一种将现实世界中的数据(如图像、文本、音频等)转化为计算机可处理的数值型特征表示的工具。它是连接人类认知(如语义、视觉特征)与…...
鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个生活电费的缴纳和查询小程序
一、项目初始化与配置 1. 创建项目 ohpm init harmony/utility-payment-app 2. 配置权限 // module.json5 {"requestPermissions": [{"name": "ohos.permission.INTERNET"},{"name": "ohos.permission.GET_NETWORK_INFO"…...

Java面试专项一-准备篇
一、企业简历筛选规则 一般企业的简历筛选流程:首先由HR先筛选一部分简历后,在将简历给到对应的项目负责人后再进行下一步的操作。 HR如何筛选简历 例如:Boss直聘(招聘方平台) 直接按照条件进行筛选 例如:…...
Web中间件--tomcat学习
Web中间件–tomcat Java虚拟机详解 什么是JAVA虚拟机 Java虚拟机是一个抽象的计算机,它可以执行Java字节码。Java虚拟机是Java平台的一部分,Java平台由Java语言、Java API和Java虚拟机组成。Java虚拟机的主要作用是将Java字节码转换为机器代码&#x…...
【LeetCode】3309. 连接二进制表示可形成的最大数值(递归|回溯|位运算)
LeetCode 3309. 连接二进制表示可形成的最大数值(中等) 题目描述解题思路Java代码 题目描述 题目链接:LeetCode 3309. 连接二进制表示可形成的最大数值(中等) 给你一个长度为 3 的整数数组 nums。 现以某种顺序 连接…...
【学习笔记】erase 删除顺序迭代器后迭代器失效的解决方案
目录 使用 erase 返回值继续迭代使用索引进行遍历 我们知道类似 vector 的顺序迭代器被删除后,迭代器会失效,因为顺序迭代器在内存中是连续存储的,元素删除后,后续元素会前移。 但一些场景中,我们又需要在执行删除操作…...