keepalived+nginx实现高可用

news2025/2/26 6:25:58

1.安装keepalived、nginx

yum install keepalived –y

//centos默认无nginx源
rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm

yum install -y nginx

2.修改keepalived配置文件(/etc/keepalived/keepalived.conf)

global_defs {
    notification_email {
        acassen@firewall.loc
        failover@firewall.loc
        sysadmin@firewall.loc
    }
    notification_email_from Alexandre.Cassen@firewall.loc
    smtp_server 192.168.200.1
    smtp_connect_timeout 30
    router_id BACKUP                        # 主机标识
    vrrp_skip_check_adv_addr
    # vrrp_strict                           # 一定要注释掉
    vrrp_garp_interval 0
    vrrp_gna_interval 0
}



vrrp_script chk_nginx {
    script "/etc/keepalived/chk_nginx.sh"    # 检测脚本
    interval 2                               # 执行脚本间隔 2s
    weight -30                               # 本服务器宕机后权重减少 -30
}


vrrp_instance VI_1 {
    state BACKUP    # MASTER主服务器,BACKUP备份服务器
    interface ens33 #网卡
    virtual_router_id 51    # 虚拟路由ID,主备必须一致
    priority 80     # 优先级,即权重,主比备要高
    advert_int 1    # 服务器心跳 1s 检测一次
    authentication {
        auth_type PASS  # 认证方式 主备需一致
        auth_pass 1111  # 认证密码 主备需一致
    }
    virtual_ipaddress {
        192.168.72.155  # 虚拟地址,可以多个
    }
}

3.nginx检测脚本

#!/bin/bash
A=`ps -C nginx -no-header |wc -l`
if [ $A -eq 0 ];then
# 以下两行暂时先注掉,防止测试时,手动关闭nginx后,脚本又自动启动nginx
#      /usr/sbin/nginx
#       sleep 2
        if [ `ps -C nginx --no-header |wc -l` -eq 0 ];then
                killall keepalived
        fi
fi


# 修改脚本权限
chmod 777 nginx_check.sh

4.重启keepalivee、nginx

service nginx restart
service keepalived restart

5.查看虚地址是否绑定成功

ip a

在这里插入图片描述

6.测试

断开主节点,看是能飘逸到备节点上

实际运用

原因:Nginx+Tomcat实现负载均衡我们已经能通过Nginx来实现Tomcat应用的负载均衡,但是单个的Nginx会存在单点隐患,如果Nginx挂掉,那么全部的Tomcat应用都将变得不可用,所以实现Nginx的高可用是必不可少的一步。

云环境的运用

1.申请虚拟IP

阿里云和腾讯云的 HAVIP是可以实现的,不清楚天翼云的VIP能不能实现该功能

2.将EIP绑定到虚拟IP,或者过防火墙用防火墙的公网IP

注意不要去绑定某一台主机

3.用keepalived组件把申请的虚拟IP管理起来,保证出故障的时候可以飘逸

在这里插入图片描述

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

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

相关文章

代码随想录算法训练营第六十二、六十三天 | 单调栈 part 2 | 503.下一个更大元素II 、42. 接雨水、84.柱状图中最大的矩形

目录 503.下一个更大元素II思路代码 42. 接雨水思路一 双指针思路二 单调栈代码 84.柱状图中最大的矩形思路一 双指针思路二 单调栈代码 503.下一个更大元素II Leetcode 思路 将数组乘2来遍历即可,就是加长版的每日温度。 但是处理起来会有细节,如果…

Annoy vs Milvus:哪个向量数据库更适合您的AI应用?知其然知其所以然

1. Annoy vs Milvus简介 Annoy 和 Milvus 都是用于向量索引和相似度搜索的开源库,它们可以高效地处理大规模的向量数据。 Annoy(Approximate Nearest Neighbors Oh Yeah): Annoy 是一种近似最近邻搜索算法,它通过构…

微信小程序服务通知(订阅消息)定时推送消息功能

首先先说项目需求:向预约参观的用户提前一天晚上8点推送消息。小程序端主要用到的API是我是小程序用到的API。以及服务端用到的API:我是服务端用到的API。 1. 开通订阅消息功能 (1)、 首先需要在小程序管理后台开通订阅消息功能。没开通前如下图所示: …

解读提示工程(Prompt Engineering)

提示工程(Prompt Engineering),也称为上下文提示,是一种通过不更新模型的权重/参数来引导LLM行为朝着特定结果的方法。这是与AI有效交流所需结果的过程。提示工程可以用于各种任务,从回答问题到算术推理乃至各种应用领…

Python爬虫技术

欢迎关注博主 Mindtechnist 或加入【智能科技社区】一起学习和分享Linux、C、C、Python、Matlab,机器人运动控制、多机器人协作,智能优化算法,滤波估计、多传感器信息融合,机器学习,人工智能等相关领域的知识和技术。关…

只有正规才有机会,CTF/AWD竞赛标准参考书来了

目录 前言 一、内容简介 二、读者对象 三、目录 前言 随着网络安全问题日益凸显,国家对网络安全人才的需求持续增长,其中,网络安全竞赛在国家以及企业的人才培养和选拔中扮演着至关重要的角色。 在数字化时代,企业为了应对日益…

Lua在计算时出现非法值,开启Debugger之后不再触发

1)Lua在计算时出现非法值,开启Debugger之后不再触发 2)从Gamma空间改为Linear空间会导致性能下降吗 3)EXR格式在Unity中如何优化 4)安卓游戏启动后提示“应用程序异常” 这是第355篇UWA技术知识分享的推送,…

事务管理 AOP

一、Spring事务管理 1.Transactional//Spring 事务管理 2.事务进阶 1.事务属性-回滚(rollbackFor) 2.传播属性(propagation) 1.DeptLog日志对象 import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsC…

完整教程:Java+Vue+Websocket实现OSS文件上传进度条功能

引言 文件上传是Web应用开发中常见的需求之一,而实时显示文件上传的进度条可以提升用户体验。本教程将介绍如何使用Java后端和Vue前端实现文件上传进度条功能,借助阿里云的OSS服务进行文件上传。 技术栈 后端:Java、Spring Boot 、WebSock…

开源在线客服系统源码微信小程序

又来啦!今天要给大家分享的是一款在线客服微信小程序源码系统,在外面现在的日常生活中,客服是不可或缺的岗位,下面我们一起来看看这款系统的功能介绍吧。下面是部分的代码截图: 在线客服系统源码微信小程序的功能主要包…

多场景通吃,INDEMIND视觉导航方案赋能服务机器人更多可能

打破场景限制,不一样的“斜杠青年”。 随着服务机器人不断进入到商场、超市、写字楼、酒店等新场景,场景的多样化和复杂度也在明显提升,由于场景的独特性,对于机器人的要求也千差万别,这意味机器人需要更强大的适应性…

1.go web之gin框架

Gin框架 一、准备 1.下载依赖 go get -u github.com/gin-gonic/gin2.引入依赖 import "github.com/gin-gonic/gin"3. (可选)如果使用诸如 http.StatusOK 之类的常量,则需要引入 net/http 包 import "net/http"二、基…

css 星星闪烁加载框

今天带来的是普灵普灵的loader闪烁加载框 效果如下 开源精神给我们带来了源码 ,源码如下 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, in…

LangChain的发展史

LangChain 发展史 LangChain 的作者是 Harrison Chase&#xff0c;最初是于 2022 年 10 月开源的一个项目&#xff0c;在 GitHub 上获得大量关注之后迅速转变为一家初创公司。2017 年 Harrison Chase 还在哈佛上大学&#xff0c;如今已是硅谷的一家热门初创公司的 CEO&#xf…

绘制X-Bar-S和X-Bar-R图,监测过程,计算CPK过程能力指数

X-Bar-S图和X-Bar-R图是统计质量控制中常用的两种控制图&#xff0c;用于监测过程的稳定性和一致性。它们的主要区别在于如何计算和呈现数据的变化以及所关注的问题类型。 X-Bar-S图&#xff08;平均值与标准偏差图&#xff09;&#xff1a; X-Bar代表样本均值&#xff0c;S代表…

制造业中CRM系统的作用有哪些

CRM系统是企业信息化建设的一部分&#xff0c;制造企业要想在疫情残酷的市场环境中生存下去离不开客户资源&#xff0c;因此我们说制造业CRM系统是当下企业数字化、信息化的关键。制造业CRM系统的作用有哪些?一起来看看吧。 让销售过程更规范 制造业需要CRM系统规范化销售流…

2023年中国饲料酸化剂产量、需求量及市场规模分析[图]

饲料酸化剂又称酸度调节剂&#xff0c;作为新型的饲料添加剂&#xff0c;其作用是保持动物体内的电解质平衡&#xff0c;促进动物健康生长。饲料酸化剂的众多作用机理都源于其酸化效应&#xff0c;即通过降低消化道中pH值使影响动物生长、生产所需的一些相关因素得以很好地发挥…

leetcodeT912-快排优化-三路划分

leetcodeT912-快排优化-三路划分 1.前言2.为什么需要三路划分的优化?3.三路划分的思想及举例画图4.三路划分的代码实现5.三数取中修改 1.前言 因为快排的名声太大 并且快排在某些场景下比较慢,所以leetcode"修理"了一下快排 特意设计了一些专门针对快排的测试用例 所…

Windows 程序注册服务运行

文章目录 创建服务窗口功能AppilicationDetailsLog OnDependencies 编辑服务删除服务服务管理进程信息运行状态 可以使用 nssm、 easy-service 来管理&#xff0c;本文使用 NSSM 来操作 创建服务 使用 nssm install [<servicename>] 调出 UI 窗口&#xff0c;第三个参…

VS 断点调试技巧:直接看到成员变量,隐藏属性,跳过方法

问题描述 直接断点不能直接显示成员变量 可以改下ToString方法&#xff0c;但这个方法可能还有其他用途&#xff0c;不推荐 解决方法 类加标签&#xff1a;DebuggerDisplay 可以直接显示属性了&#xff0c;但是有密码私密属性或者不重要的属性&#xff0c;怎么隐藏呢 隐藏属性…