keepalived+nginx安装

news2024/12/24 3:06:53

欢迎使用ShowDoc!

1、安装基础包:

yum -y install libnl libnl-devel

2、上传包:

tar -zxvf keepalived-2.0.20.tar.gz -C /data/imas/base_soft
mkdir -p /data/imas/base_soft/keepalived
cd /data/imas/base_soft/keepalived-2.0.20
./configure --prefix=/data/imas/base_soft/keepalived --sysconf=/etc
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-oVTgHwVh-1681720588751)(null)]
启动 keepalived 时,默认会去 /etc/keepalived 目录下找 keepalived.conf 文件
在这里插入图片描述
在这里插入图片描述

3、编译安装:

make && make install
在这里插入图片描述

cd /etc/keepalived/

4、修改keepalived.conf

主节点配置:
! Configuration File for keepalived

global_defs {
   router_id keep_26
}
vrrp_script check_nginx_alive {
   script "/etc/keepalived/check_nginx_alive_or_not.sh"
   interval 10  #每隔10秒运行上一行的脚本
   weight -10 # 如果脚本运行成功,则权重-10
}
vrrp_instance VI_1 {
    state MASTER
    # 当前实例绑定的网卡
    interface ens160
    # 保证主备节点一致
    virtual_router_id 51
    # 优先级/权重,谁的优先级高,在MASTER挂掉以后,就能成为MASTER
    priority 100
    # 主备之间同步检查的时间间隔,默认1s
    advert_int 1
    # 认证授权的密码,防止非法节点的进入
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    track_script {
        check_nginx_alive # 追踪 nginx脚本
    }
    virtual_ipaddress {
        172.16.11.31
    }
}

备节点配置:

! Configuration File for keepalived

global_defs {
   router_id keep_26
}
vrrp_script check_nginx_alive {
   script "/etc/keepalived/check_nginx_alive_or_not.sh"
   interval 10  #每隔10秒运行上一行的脚本
   weight -10 # 如果脚本运行成功,则权重-10
}
vrrp_instance VI_1 {
    state MASTER
    # 当前实例绑定的网卡
    interface ens160
    # 保证主备节点一致
    virtual_router_id 51
    # 优先级/权重,谁的优先级高,在MASTER挂掉以后,就能成为MASTER
    priority 100
    # 主备之间同步检查的时间间隔,默认1s
    advert_int 1
    # 认证授权的密码,防止非法节点的进入
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    track_script {
        check_nginx_alive # 追踪 nginx脚本
    }
    virtual_ipaddress {
        172.16.11.31
    }
}

5、nginx 检测脚本

cd /etc/keepalived
vi check_nginx_alive_or_not.sh
脚本内容如下:
#!/bin/bash
A=ps -C nginx --no-header |wc -l
#判断nginx是否宕机,如果宕机了,尝试重启
if [ $A -eq 0 ]; then
#/data/imas/base_soft/nginx/sbin/nginx
systemctl start nginx
#等待一小会再次检查nginx,如果没有启动成功,则停止keepalived,使其启动备用机
sleep 3
if [ ps -C nginx --no-header |wc -l -eq 0 ];then
killall keepalived
fi
fi

6、whereis keepalived

keepalived日志文件路径:/var/log/messages

7、配置keepalived开机自启:

systemctl enable keepalived
systemctl daemon-reload
systemctl start keepalived
systemctl status keepalived
systemctl restart keepalived

8、检查虚拟ip访问情况:

在这里插入图片描述
访问nginx地址
http://172.16.11.31

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

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

相关文章

基于Netty开发IM即时通讯之群聊功能

本篇涉及的群聊核心功能,大致如下所示: 1)登录:每个客户端连接服务端的时候,都需要输入自己的账号信息,以便和连接通道进行绑定;2)创建群组:输入群组 ID 和群组名称进行…

【云原生进阶之容器】第六章容器网络6.5.2--Calico网络架构详述

《云原生进阶之容器》专题索引: 第一章Docker核心技术1.1节——Docker综述第一章Docker核心技术1.2节——Linux容器LXC第一章Docker核心技术1.3节——命名空间Namespace第一章Docker核心技术1.4节——chroot技术第一章Docker核心技术1.5.1节——cgroup综述

从 Dev 和 Ops 视角出发,聊聊 DevSecOps 的 What / Why / How

近日,极小狐和 TA 的朋友们相聚上海,开展了一场技术 Meetup,从 DevSecOps 的 What、Why、How 出发,通过分享真实应用案例,与参会者交流 DevSecOps 的实践过程和落地经验。 本文整理自极狐(GitLab) 资深云原生架构师郭旭…

爬虫日常-selenium登录12306,绕过验证

文章目录 前言代码设计 前言 hello兄弟们,这里是无聊的网友。愉快的周末过去了,欢迎回到学习频道。书接上文,我们说到了再用selenium登录12306时遇到了滑块验证的问题。当前的网站几乎每家都会在登录模块添加一个认证,来规避各种…

js 同步与异步

一、js 执行机制 JavaScript语言的一大特点就是单线程,即(同一时间只能做一件事情)。因为JavaScript是为了处理页面中用户的交互,以及操作DOM而诞生的。比如对某个DOM元素进行添加和删除操作。不能同时进行,应该先进行…

一文带你通俗理解23种软件设计模式(推荐收藏,适合小白学习,附带C++例程完整源码)

作者:翟天保Steven 版权声明:著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处 一、设计模式是什么? 设计模式是为了解决在软件开发过程中遇到的某些问题而形成的思想。同一场景有多种设计模式可以应…

第18章_JDK8-17新特性(上)

第18章_JDK8-17新特性(上) 讲师:尚硅谷-宋红康(江湖人称:康师傅) 官网:http://www.atguigu.com 本章专题与脉络 1. Java版本迭代概述 1.1 发布特点(小步快跑,快速迭代…

安装TortoiseGit后桌面文件夹和用户文件夹中显示红色叹号

✨ TortoiseGit作为一个很好用的git图形化工具,能够很方便的进行版本控制。但在安装这个软件之后就遇到了一个问题。 👀问题描述:我们知道,安装TortoiseGit之后,当自己版本库中文件发生更改,但还没有提交到受控库时&am…

信息系统管理工程师好考吗?如何去备考呢?

信息系统管理工程师有点难度,侧重于IT技术的中级资格考试,主要适合系统管理员等专业技术人员去考 一、信息系统管理工程师考试介绍: 考试科目有两科,且成绩不延续,考试都合格后的证书是永久有效的。 报考条件&#x…

文件改名,如何将文件复制到指定文件夹里,并设置自动编号同名文件

在工作中,我们经常会遇到要将文件进行备份的时候,那么文件名称相同的情况下要如何批量备份呢?又如何自动编号同名文件?今天小编就给大家分享一下我的操作办法。 首先,第一步我们要进入“文件批量改名高手”的主页面并…

pot lib:optimal transport python库

文章目录 transport1. [计算最优传输(Computational Optimal Transport)](https://zhuanlan.zhihu.com/p/94978686)2. 离散测度 (Discrete measures), 蒙日(Monge)问题, Kantorovich Relaxation (松弛的蒙日问题)3. scipy.stats.wasserstein_distance 距…

CVPR2023活体检测Instance-Aware Domain Generalization for Face Anti-Spoofing学习笔记

论文链接:https://arxiv.org/pdf/2304.05640.pdf 代码链接:GitHub - qianyuzqy/IADG: (CVPR 2023) Instance-Aware Domain Generalization for Face Anti-Spoofing(尚未公布) 研究动机 此前的基于域泛化(domain gen…

信号完整性分析:关于传输线的三十个问题解答(二)

11.对于 50 欧姆带状线的纵横比,什么是好的经验法则?(What is a good rule of thumb for the aspect ratio of a 50-Ohm stripline?) 在带状线几何形状和 FR4 基板中,线宽和平面之间的电介质间距的纵横比为 。由于有两个平面,带…

如何快速建立一个podman环境

本文介绍如何安装podman,并创建podman容器 环境 Centos8 安装podman Podman 是一个容器环境,首先在主机上安装 Podman。执行下面命令来安装podman: [rootlocalhost ~]# yum -y install podman然后修改一下用户命名空间的大小&#xff1a…

202305读书笔记|《因思念而沉着》——任何赞美都是身外之物唯自由可随身携带

《因思念而沉着》作者巴哑哑,忘了是什么时候加入的书架,昨天下班地铁上读完的书。是美的! 部分节选如下: 羽叶茑萝举着熄灭的花青色的小枣落了一地所以哭泣沾染上了你的脸 在没落下 当我们开始生活 就是开始患上了眼疾你独自悲伤…

互联网求职指南2023版(内含腾讯、阿里、字节真实面经)

0. 缘起 五年前,小编曾经写过一篇文章,文章主要带大家了解当时的互联网巨头公司、独角兽公司。并给出了互联网的求职建议。从简历、知识储备、暑期实习、面试上给出了中肯的建议。现在看来也是很受用的,感兴趣的可以点击链接《互联网求职指南…

【人工智能概论】 构建神经网络——以用InceptionNet解决MNIST任务为例

【人工智能概论】 构建神经网络——以用InceptionNet解决MNIST任务为例 文章目录 【人工智能概论】 构建神经网络——以用InceptionNet解决MNIST任务为例一. 整体思路1.1 两条原则1.2 四个步骤 二. 举例——用InceptionNet解决MNIST任务2.1 模型简介2.2 MNIST任务2.3 完整的程序…

【ChatGPT 】ChatGPT Sidebar 实战:自定义 ChatGPT 搜索页面回复模板(示例开发和文员专用模板)

目录 一、前言 二、ChatGPT Sidebar 通用配置 (1)通用配置入口 (2)设置 ① 如何访问 ChatGPT ② 语言 ③ 主题 三、ChatGPT Sidebar 搜索页面 (1)搜索页面入口 (2)设置 …

Node 05-Node.js模块化

Node.js 模块化 介绍 什么是模块化与模块 ? 将一个复杂的程序文件依据一定规则(规范)拆分成多个文件的过程称之为 模块化 其中拆分出的 每个文件就是一个模块,模块的内部数据是私有的,不过模块可以暴露内部数据以便其他模块使用…

【问题解决】Git报错:failed to push some refs to xxxxx

Git报错:failed to push some refs to xxxxx To https://xxxxxxxxxxxx.git ! [rejected] master -> master (fetch first) error: failed to push some refs to ‘https://xxxxxxxx.git’ hint: Updates were rejected because the remote contains work that yo…