Keepalived实现Nginx的高可用集群案例

news2025/3/10 18:21:40

服务器规划:
    
                    serverb(nginx2):192.168.233.144
                    serverc(客户端):192.168.233.140
                    serverd(nginx1):192.168.233.141

结构图:

serverd(nginx1):

# 安装nginx
yum install nginx -y

# 进入nginx配置目录
cd /etc/nginx/conf.d/

# 编辑www.conf文件
vim www.conf
server {
    listen 80; 
    server_name localhost;

    location / { 
        root /data/web;
        index index.html;
    }   
}
# 创建web目录
mkdir -p /data/web

# 创建测试页面index.html
echo "web test page, ip is `hostname -I`." >/data/web/index.html

# 启动nginx服务
systemctl start nginx

# 安装keepalived
yum install keepalived -y

# 进入keepalived配置目录
cd /etc/keepalived/

# 备份keepalived.conf文件
cp keepalived.conf{,.bak}

# 编辑keepalived.conf文件
vim keepalived.conf
! Configuration File for keepalived

global_defs {
    router_id LVS_141  # 设置路由器的ID为LVS_141
}

vrrp_instance nginx {
    state MASTER  # 将该实例设置为MASTER状态,备份节点应设置为BACKUP
    interface ens160  # 指定VRRP实例使用的网络接口
    virtual_router_id 51  # 虚拟路由器的唯一ID,同一组中MASTER和BACKUP的virtual_router_id必须相同
    priority 100  # 优先级设置为100,MASTER的优先级通常比BACKUP的优先级高
    advert_int 1  # 发送VRRP通告的时间间隔,单位为秒

    authentication {
        auth_type PASS  # 使用简单密码认证方式
        auth_pass 1111  # 认证密码为1111
    }

    virtual_ipaddress {
        192.168.233.50  # 配置虚拟IP地址,客户端将访问该IP以访问服务
    }
}

# 启动keepalived服务
systemctl start keepalived

serverb(nginx2):

# 安装 nginx
yum install nginx -y

# 进入 nginx 配置目录
cd /etc/nginx/conf.d/

# 编辑 nginx 配置文件 www.conf
vim www.conf

# 在配置文件中写入以下内容
server {
    listen 80; 
    server_name localhost;

    location / { 
        root /data/web;
        index index.html;
    }   
}

# 创建 web 根目录
mkdir -p /data/web

# 在 web 根目录下创建测试页面 index.html
echo "web test page, ip is `hostname -I`." >/data/web/index.html

# 启动 nginx
systemctl start nginx

# 安装 keepalived
yum install keepalived -y

# 进入 keepalived 配置目录
cd /etc/keepalived/

# 备份 keepalived 配置文件
cp keepalived.conf{,.bak}

# 编辑 keepalived 配置文件
vim keepalived.conf

# 在 keepalived 配置文件中写入以下内容
! Configuration File for keepalived

global_defs {
   router_id LVS_144  # 设置路由器标识为LVS_144
}

vrrp_instance nginx {  # 创建一个名为nginx的VRRP实例
    state BACKUP  # 将此节点设置为备用状态,主节点应该设置为MASTER
    interface ens160  # 指定VRRP实例要使用的网络接口
    virtual_router_id 51  # VRRP实例的虚拟路由器ID,与同一VLAN内其他节点的ID相同
    priority 80  # 优先级,数字越大表示优先级越高,主节点通常设置为100
    advert_int 1  # 发送VRRP通告的间隔时间,单位为秒
    authentication {  # 配置认证信息
        auth_type PASS  # 使用密码认证方式
        auth_pass 1111  # 认证密码
    }
    virtual_ipaddress {  # 设置虚拟IP地址列表
        192.168.233.50  # 在VRRP实例中使用的虚拟IP地址
    }
}

# 启动 keepalived
systemctl start keepalived

serverc(客户端):

vip访问:
curl 192.168.233.50

日志查看:

tail -f /var/log/messages

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

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

相关文章

你真的了解—————NumPy吗

🌈个人主页:小田爱学编程 🔥 系列专栏:opencv 🏆🏆关注博主,随时获取更多关于IT的优质内容!🏆🏆 😀欢迎来到小田代码世界~ 😁 喜欢的…

DS:循环队列的实现

创作不易,给个三连吧!! 一、前言 对于循环队列,博主也是源自于一道力扣的OJ题 力扣:循环队列的设置 后来我在网上查过,这个循环队列是有自己的应用场景的!!并不是出题者为了出题…

软件工具安装遇到bug、报错不知道怎么解决?看这里!

前言 本文举例了几个常见的软件工具使用问题,文末会提供一些我自己整理和使用的工具资料 。 "在追逐零 Bug 的路上,我们不断学习、改进,更加坚定自己的技术信念。让我们相信,每一个 Bug 都是我们成长的机会。" 一、VM…

全面解读视频生成模型Sora

2024年2月15日,OpenAI在其官网发布了《Video generation models as world simulators》的报告,该报告提出了作为世界模拟器的视频生成模型Sora。 OpenAI对Sora介绍如下: We explore large-scale training of generative models on video dat…

【Simulink系列】——动态系统仿真 之 连续系统线性连续系统

声明:本系列博客参考有关专业书籍,截图均为自己实操,仅供交流学习! 一、连续系统定义 连续系统输出在时间上连续变化,而非间隔采样取值,满足以下条件: ①输出连续变化,变化的间隔…

解锁文档处理新境界:ONLYOFFICE编辑功能为开发者带来新机遇

引言 ONLYOFFICE最新发布的文档8.0版本带来了一系列引人注目的功能和优化,为用户提供了更强大、更高效的在线编辑体验。这次更新涵盖了多个方面,包括PDF表单、RTL支持、单变量求解、图表向导以及插件界面设计更新等。这些新功能不仅提升了文档处理的便利…

免费下载的指纹浏览器推荐,有效保护您的隐私安全

在这个数字化快速发展的时代,我们每天都在网上留下无数的足迹。无论是在线购物、社交媒体互动还是处理跨境电商事务,我们的每一次点击都可能被跟踪,我们的个人信息和隐私正处于风险之中。在网络世界中,一个简单的浏览器指纹就能暴…

智慧社区管理系统:构建未来的生活模式

在这个信息化、智能化的时代,我们期待的不再是简单的居住空间,而是一个集安全、便捷、舒适、环保于一体的智能化社区。为此,我们推出了全新的智慧社区管理系统,旨在将先进的科技力量引入社区管理,为居民提供更优质的生…

Python UnicodeDecodeError: ‘gbk‘ codec can‘t decode byte 0xa4 in position 49

0x00 错误 UnicodeDecodeError: gbk codec cant decode byte 0xa4 in position 49: illegal multibyte sequence 这个错误出现的场景是这样的: 我把一个在 Mac 电脑生成的 .txt 文件 拷贝到了 Windows 电脑上 在读取 .txt 文件内容时 出现了这个错误 应该是 编…

视频监控需求八问:视频智能分析/视频汇聚平台EasyCVR有何特性?

最近TSINGSEE青犀视频在与业内伙伴进行项目合作的过程中,针对安防监控可视化视频管理系统EasyCVR视频融合平台在电信运营商项目中的应用,进行了多方面的项目需求沟通。今天我们就该项目沟通为案例,来具体了解一下用户关心度较高的关于视频智能…

运行jar时提示缺少依赖的类

供应商丢过来一个jar,是用Java写的Windows桌面程序,运行jar时提示缺少依赖的类,一看就是打包没带依赖的库,下面是解决方法: 1、解压缩jar,查看 META-INF 目录下的 MANIFEST.MF,看看都引用了哪些…

十、图像像素点的与、或、非、异或操作

项目功能实现&#xff1a;对图片像素点进行与或非操作 按照之前的博文结构来&#xff0c;这里就不在赘述了 在OpenCV中&#xff0c;颜色是(B,G,R)通道排列 一、头文件 yuhuofei.h 定义一个YUHUOFEI类&#xff0c;里面声明了一个yuhuofei方法 #pragma once#include<openc…

盲盒小程序开发,线上盲盒平台的发展潜力

盲盒的出现给大众带来了全新的消费体验&#xff0c;目前&#xff0c;盲盒经济也是席卷了当代年轻人&#xff0c;一种新的商业模式就此出现。盲盒的玩法、种类也在不断创新进化&#xff0c;成为了吸引大众的消费形式。 当然&#xff0c;在当下盲盒稳步发展时期&#xff0c;也要…

国标GB28181视频监控平台EasyGBS为什么视频播放一会儿就无法播放了?

视频监控国标GB28181平台EasyGBS是基于安防行业标准协议国标GB28181协议接入的安防监控视频平台&#xff0c;平台可以支持多路设备同时接入&#xff0c;实现视频流的接入、转码、处理、分发等功能&#xff0c;可对外分发RTSP、RTMP、FLV、HLS、WebRTC等格式的视频流。国标GB281…

数据分析案例-2023年TOP100国外电影数据可视化

&#x1f935;‍♂️ 个人主页&#xff1a;艾派森的个人主页 ✍&#x1f3fb;作者简介&#xff1a;Python学习者 &#x1f40b; 希望大家多多支持&#xff0c;我们一起进步&#xff01;&#x1f604; 如果文章对你有帮助的话&#xff0c; 欢迎评论 &#x1f4ac;点赞&#x1f4…

C/C++ BM11 链表相加(二)

文章目录 前言题目解决方案一1.1 思路阐述1.2 源码 总结 前言 这道题使用链表来实现加法运算&#xff0c;主要是涉及到数据对位以及加法进位的处理。 题目 假设链表中每一个节点的值都在 0 - 9 之间&#xff0c;那么链表整体就可以代表一个整数。 给定两个这种链表&#xff0…

【Docker】集群容器监控和统计 Portainer基本用法

Portainer是一款轻量级的应用&#xff0c;它提供了图形化界面&#xff0c;用川于方便地管理Docker环境&#xff0c;包括单机环境和集群环境。 主要功能&#xff1a;实现集群容器的监控和统计 下载安装 官网&#xff1a;https://www.portainer.io 文档&#xff1a;https://do…

短剧App:引领移动娱乐新潮流

随着科技的飞速发展&#xff0c;人们对于娱乐的需求也在不断变化。近年来&#xff0c;短剧App逐渐崭露头角&#xff0c;成为了移动娱乐的新宠。本文将探讨短剧App的发展趋势、市场现状、用户需求以及开发过程中的关键因素。 一、短剧App的发展趋势 短剧App以其简短、精悍的特…

无可执行权限加载 ShellCode

简单来说就是可以直接加载可读内存中的加密 ShellCode&#xff0c;不需要解密&#xff0c;不需要申请新的内存&#xff0c;也不需要改可执行权限。应用不仅仅在上线&#xff0c;上线后的各种功能都可以通过 ShellCode 实现 1.查杀点 现状 在加载 ShellCode、使用 BOF 等时候…

Mysql如何优化数据查询方案

mysql做读写分离 读写分离是提高mysql并发的首选方案。 Mysql主从复制的原理 mysql的主从复制依赖于binlog&#xff0c;也就是记录mysql上的所有变化并以二进制的形式保存在磁盘上&#xff0c;复制的过程就是将binlog中的数据从主库传输到从库上。 主从复制过程详细分为3个阶段…