nginx + keepalived 搭建教程

1.安装依赖

yum install -y keepalived
systemctl start keepalived
systemctl enable keepalived

2.配置

a. keepalived.conf配置

global_defs {router_id nginx_server2 # 机器标识(backup节点为nfs_server2)
}vrrp_script chk {  script "/etc/keepalived/check_port.sh 192.168.1.151" interval 1    # 脚本执行间隔(s)fall 2  # 转换为失败状态,所需的执行成功次数rise 30  # 转换为成功状态,所需的执行成功次数weight -20   
}vrrp_instance nfs {state BACKUP interface ens192  # 绑定的网卡(用来发VRRP包; 绑定VIP), 网卡down会进入FAULT状态virtual_router_id 9  priority 90 advert_int 1 authentication {# 认证权限,防止非法节点进入auth_type PASSauth_pass 12345678}virtual_ipaddress {# VIP, 可设置多个192.168.1.151}track_script {# 健康检查脚本chk}notify "/etc/keepalived/change_state.sh /var/log/keepalived.log"  
}

b. check_port.sh监听脚本

#!/bin/shisMaster=`ip addr show | grep "scope global" | grep $1`
if [ -n "$isMaster" ]
thenPORT_PROCESS=`ps -ef | grep nginx | grep -v grep | wc -l`if [ $PORT_PROCESS -eq 0 ]thenecho "nginx Is Not Running, End."exit 1fi
elseecho "is backup"
fi

c. change_state.sh主从切换脚本(仅仅打印日志, 可去除)

#!/bin/sh# 参数1: 转态变化输出文件; 参数3: VRRP 实例; 参数4: 新转态; 状态5: 权重
# 示例: /var/log/keepalived.log INSTANCE nfs MASTER 100outFilename=$1
instance=$3
newState=$4
priority=$5
date=`date "+%Y-%m-%d %H:%M:%S"`
content="$date $3 change to $4, priority: $5"
echo "$content" >> $1

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

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

相关文章

信息系统项目管理师——第18章项目绩效域管理(一)

本章节内容属于第四版新增知识,为PMBOK第七版专有,选择、案例、论文都会考,属于比较重要的章节。 选择题,稳定考3分左右,新教材基本考课本原话,需要多读课本,多刷题。 案例题,考的概…

Spring中BeanFactoryPostProcessor详解

目录 功能与作用 使用案例 spring提供的常见BeanFactoryPostProcessor 1.EventListenerMethodProcessor 2.BeanDefinitionRegistryPostProcessor 功能与作用 使用案例 spring提供的唯一BeanDefinitionRegistryPostProcessor 总结 功能与作用 参考BeanFactoryPostProce…

mAP:目标检测算法性能评估参数

在计算机视觉和图像识别领域,特别是在评估目标检测算法的性能时,mAP(Mean Average Precision)平均精度均值,是一个常用的评价指标。mAP 及其变体是在不同条件下对模型性能进行评估的参数。下面是对这些参数的解释&…

QA测试开发工程师面试题满分问答4: 如何测试购物车功能?

当测试一个购物车时,我们需要采用全面的测试策略,以确保购物车在各种情况下的功能正常、性能良好和用户体验优秀。以下是一个详细的测试计划,包含了各个方面的测试。 功能测试: 添加商品到购物车:验证能否将商品成功添…

入门级深度学习主机组装过程

一 配置 先附上电脑配置图,如下: 利用公司的办公电脑对配置进行升级改造完成。除了显卡和电源,其他硬件都是公司电脑原装。 二 显卡 有钱直接上 RTX4090,也不能复用公司的电脑,其他配置跟不上。 进行深度学习&…

Mac 如何彻底卸载Python 环境?

第一步:首先去应用程序文件夹中,删除关于Python的所有文件; 第二步:打开terminal终端,输入下面命令查看versions下有哪些python版本; ls /library/frameworks/python.framework/versions第三步&#xff1…

网络地址结构

sockaddr_in window 头文件<winsock.h> linux头文件 <netinet/in.h>或者<arpa/inet.h> struct sockaddr_in {short sin_family;u_short sin_port;struct in_addr sin_addr;char sin_zero[8]; } ;in_addr window 头文件<wins…

【算法集训】基础算法:前缀和 | 概念篇

前缀和就是对于顺序表&#xff08;数组、列表&#xff09;来说&#xff0c;计算前面某一段元素的和。 1、部分和 给定一个数组&#xff0c;求某一段子数组的和。 2、朴素做法 int partialSum(int *a, int l, int r) {int i;int s 0;for(i l; i < r; i) {s a[i];}retu…

docker-compose安装jenkins

1、环境准备&#xff1a;准备安装好docker的服务器一台 2、在服务器上创建一个目录用于安装Jenkins mkdir jenkins3、下载好要挂载的&#xff1a;maven、jkd&#xff1b;并将下载好的tar.gz包上传至服务器待安装目录中并解压 tar -xzvf tar -xzvf apache-maven-3.9.6-bin.tar…

【大数据存储】实验3 HBase的安装和基本操作

实验3 HBase的安装和基本操作 实验环境&#xff1a; Ubuntu 22.04.3 Jdk 1.8.0_341 Hadoop 3.2.3 Hbase 2.4.17 一、安装HBase HBase伪分布式安装的配置 1. 配置hbase-env.sh文件 3. 启动运行HBase 4. 停止运行HBase HBase常用的Shell命令 打开hbase 在HBase中创建…

2024年150道高频Java面试题(十五)

29. 请解释 Java 集合框架的基本结构。 Java 集合框架&#xff08;Java Collections Framework&#xff0c;JCF&#xff09;提供了一个统一的架构&#xff0c;用于存储和操作集合数据。它包含接口、实现这些接口的类以及操作集合的工具类。以下是 Java 集合框架的基本结构&…

python实现UDP客户端

import socket # 设置服务器的IP地址和端口 SERVER_IP 127.0.0.1 SERVER_PORT 12345 # 创建一个socket对象 client_socket socket.socket(socket.AF_INET, socket.SOCK_DGRAM) # 准备要发送的数据 message_to_send "Hello, UDP Server!" # 发送数据到服务…

day02-SpringCloud02(Nacos、Feign、Gateway)

1.Nacos 配置管理 Nacos 除了可以做注册中心&#xff0c;同样可以做配置管理来使用。 1.1.统一配置管理 当微服务部署的实例越来越多&#xff0c;达到数十、数百时&#xff0c;逐个修改微服务配置就会让人抓狂&#xff0c;而且很容易出错。我们需要一种统一配置管理方案&#x…

005 高并发内存池_CentralCache设计

​&#x1f308;个人主页&#xff1a;Fan_558 &#x1f525; 系列专栏&#xff1a;高并发内存池 &#x1f339;关注我&#x1f4aa;&#x1f3fb;带你学更多知识 文章目录 前言本文重点一、构建CentralCache结构二、运用慢开始反馈调节算法三、完成向CentralCache中心缓存申请四…

javaScript中微任务宏任务详解

在 JavaScript 中&#xff0c;任务分为两种类型&#xff1a;微任务&#xff08;Microtask&#xff09;和宏任务&#xff08;Macrotask&#xff09;。它们的执行顺序以及在事件循环&#xff08;Event Loop&#xff09;中的位置不同。 微任务&#xff08;Microtask&#xff09;&…

【JavaScript】函数 ③ ( 形参 与 实参 匹配问题 | 实参个数 = 形参个数 | 实参个数 > 形参个数 | 实参个数 < 形参个数 )

文章目录 一、JavaScript 函数 形参 与 实参 匹配问题1、函数形参与实参不匹配问题2、形参与实参个数匹配3、实参个数 > 形参个数4、实参个数 < 形参个数5、完整代码示例 一、JavaScript 函数 形参 与 实参 匹配问题 1、函数形参与实参不匹配问题 在 其它语言 中 , 如 Ja…

华为机试打卡 HJ102 字符统计

要机试了&#xff0c;华孝子求捞&#xff0c;功德 描述 输入一个只包含小写英文字母和数字的字符串&#xff0c;按照不同字符统计个数由多到少输出统计结果&#xff0c;如果统计的个数相同&#xff0c;则按照ASCII码由小到大排序输出。 数据范围&#xff1a;字符串长度满足 …

开发人员小张出场

小张一年前入职&#xff0c;当时毕业已经一年了&#xff0c;一年换了4份工作。最少的才呆了一周。 小张的简历很正规&#xff0c;彩色打印&#xff0c;整整5页。技能篇写的很全&#xff0c;基本上市面上的技术都写到了&#xff0c;都是精通。面试的时候&#xff0c;表现也很好&…

C语言 | Leetcode C语言题解之第6题Z字形变换

题目&#xff1a; 题解&#xff1a; char * convert(char * s, int numRows){int n strlen(s), r numRows;if (r 1 || r > n) {return s;}int t r * 2 - 2;char * ans (char *)malloc(sizeof(char) * (n 1));int pos 0;for (int i 0; i < r; i) { // 枚举矩阵的…

docker搭建DDClient

DDClient 是一个用 Perl 编写的开源客户端&#xff0c;主要用于通过动态 DNS 服务更新动态域名。它能够自动检测公网 IP 地址的变化&#xff0c;并将新的 IP 地址更新到指定的 DNS 服务商&#xff0c;以保持域名与当前 IP 地址的同步。这对于使用动态 IP 地址的用户来说非常有用…