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

服务器规划:
    
                    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.mfbz.cn/a/396256.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【安全狐】Windows隐藏计划任务技术及排查方法

0x00 前置知识 计划任务SCHTASKS命令 SCHTASKSSCHTASKS /Create 参数 SCHTASKS /Create [/S system [/U username [/P [password]]]][/RU username [/RP password]] /SC schedule [/MO modifier] [/D day][/M months] [/I idletime] /TN taskname /TR taskrun [/ST starttim…

【MATLAB源码-第141期】基于matlab的免疫优化算法在物流配送中心选址应用仿真,输出选址图以及算法适应度曲线。

操作环境: MATLAB 2022a 1、算法描述 免疫优化算法在物流配送中心选址中的应用是一个集成了信息科学、生物学原理和运筹学的跨学科研究领域。本文旨在探讨免疫优化算法在物流配送中心选址问题中的应用,包括算法的基本原理、模型构建、算法实现及其在实…

华为配置旁挂二层组网隧道转发示例

配置旁挂二层组网隧道转发示例 组网图形 业务需求组网需求数据规划配置思路配置注意事项操作步骤配置文件扩展阅读 业务需求 企业用户通过WLAN接入网络,以满足移动办公的最基本需求。且在覆盖区域内移动发生漫游时,不影响用户的业务使用。 组网需求 AC组…

GPIO控制和命名规则

Linux提供了GPIO子系统驱动框架,使用该驱动框架即可灵活地控制板子上的GPIO。 GPIO命名 泰山派开发板板载了一个40PIN 2.54间距的贴片排针,排针的引脚定义兼容经典40PIN接口。 在后续对GPIO进行操作前,我们需要先了解k3566的GPIO命名规则&a…

Sublime替换文本中的换行/回车符等特殊符号

1、快捷键打开查找替换(windows) Ctrl h 2、开启打开查找窗口最左侧的(.*)正则匹配功能,上图中箭头所指。 3、Find栏输出被替换的正则表达式,如\n 回车符,表达式会有颜色显示 4、Replace栏输入替换后的内容&#xff0…

第8章 对同步的硬件支持

为了保证并行程序执行的正确性和高效性,构建一个共享存储多处理器系统的硬件支持必须要解决缓存一致性、存储一致性和对同步原语的支持等问题。从软件的观点来看被广泛使用的同步原语包括锁、栅栏和点对点同步(信号量)。举例来说,…

用于将Grafana默认数据库sqlite3迁移到MySQL数据库

以下是一个方案,用于将Grafana数据迁移到MySQL数据库。 背景: grafana 默认采用的是sqlite3,当我们要以集群形式部署的时使用mysql较为方便,试了很多sqlite转mysql的方法要么收费,最后放弃。选择自己动手风衣足食。 目标: 迁移sqlite3切换…

Vue报错,xxx is defined #变量未定义

vue.js:5129 [Vue warn]: Error in v-on handler: "ReferenceError: count is not defined" 浏览器将这个变量 当做全局变量了,事实上它只是实例中的变量 加上this指定,是vue实例中的变量

进程链信任-父进程欺骗

文章目录 前记普通权限的父进程欺骗ShllCode上线进程提权基础进程提权注入 前记 父进程欺骗作用&#xff1a; 进程链信任免杀进程提权 检测&#xff1a; etw 普通权限的父进程欺骗 #include<stdio.h> #include<windows.h> #include <TlHelp32.h>DWORD …

跳过测试方法(测试类)(@Ignore)

1.什么情况下要使用跳过测试(测试类)方法? 写了一个测试方法但是不想执行 删掉该测试方法&#xff08;测试类&#xff09;注释该测试方法&#xff08;测试类&#xff09;使用Ignore注解 2.示例 2.1 必要工作 导入类库 import org.junit.Ignore; 2.2 使用Ignore注解跳过…

gin源码实战 day1

gin框架源码实战day1 Radix树 这个路由信息&#xff1a; r : gin.Default()r.GET("/", func1) r.GET("/search/", func2) r.GET("/support/", func3) r.GET("/blog/", func4) r.GET("/blog/:post/", func5) r.GET("/…

Web3区块链游戏:创造虚拟世界的全新体验

随着区块链技术的不断发展&#xff0c;Web3区块链游戏正逐渐崭露头角&#xff0c;为玩家带来了全新的虚拟世界体验。传统游戏中的中心化结构和封闭经济体系已经被打破&#xff0c;取而代之的是去中心化的游戏环境和真实所有权的数字资产。本文将深入探讨Web3区块链游戏的特点、…

Python Selenium实现自动化测试及Chrome驱动使用

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到网站零基础入门的AI学习网站~。 目录 ​编辑 前言 Selenium简介 安装Selenium库 编写自动化测试脚本 1 打开浏览器并访问网页 2 查找页面元…

[力扣 Hot100]Day30 两两交换链表中的节点

题目描述 给你一个链表&#xff0c;两两交换其中相邻的节点&#xff0c;并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题&#xff08;即&#xff0c;只能进行节点交换&#xff09;。 出处 思路 前两个结点先偷一手用交换val做&#xff0c;从链表第1…

对视频进行分块,断点续传

分块测试 //分块测试Testpublic void testChunk() throws IOException {//源路径File sourceFile new File("D:\\BaiduNetdiskDownload\\Day1-00.项目导学.mp4");//分块文件存储路径String chunkFilePath "D:\\develop\\chunk\\";//分块文件大小int chun…

XR行业首家|李未可科技通过深度合成服务算法备案

2月18日&#xff0c;国家网信办发布第四批深度合成服务算法备案。 根据《互联网信息服务深度合成管理规定》第十九条规定&#xff0c;具有舆论属性或者社会动员能力的深度合成服务提供者&#xff0c;应当按照《互联网信息服务算法推荐管理规定》履行备案和变更、注销备案手续。…

(十)【Jmeter】线程(Threads(Users))之jp@gc - Stepping Thread Group (deprecated)

简述 操作路径如下: 作用:通过逐步增加线程数来模拟用户并发访问。配置:设置This group will start、First,wait for 、Then start、Next , add等参数。使用场景:模拟逐步增长的并发访问,观察应用程序的性能变化。优点:适用于测试应用程序在逐步增加负载下的性能表现。…

opencv-python保存视频为mp4格式并支持在浏览器播放

前言 之前在项目上使用yolov8进行视频检测的时候&#xff0c;yolov8默认windows系统下保存的是avi格式 suffix, fourcc (.mp4, avc1) if MACOS else (.avi, WMV2) if WINDOWS else (.avi, MJPG) self.vid_writer[idx] cv2.VideoWriter(str(Path(save_path).with_suffix(suf…

计算机专业假期必看5部电影

社交网络The Social Network (2010) 《社交网络》&#xff08;The Social Network&#xff09;根据本麦兹里奇的小说《意外的亿万富翁&#xff1a;Facebook的创立&#xff0c;一个关于性、金钱、天才和背叛的故事》改编而成。由大卫芬奇执导&#xff0c;杰西艾森伯格、安德鲁加…
最新文章