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 keepalivedglobal_defs {router_id LVS_141  # 设置路由器的ID为LVS_141
}vrrp_instance nginx {state MASTER  # 将该实例设置为MASTER状态,备份节点应设置为BACKUPinterface 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 keepalivedglobal_defs {router_id LVS_144  # 设置路由器标识为LVS_144
}vrrp_instance nginx {  # 创建一个名为nginx的VRRP实例state BACKUP  # 将此节点设置为备用状态,主节点应该设置为MASTERinterface ens160  # 指定VRRP实例要使用的网络接口virtual_router_id 51  # VRRP实例的虚拟路由器ID,与同一VLAN内其他节点的ID相同priority 80  # 优先级,数字越大表示优先级越高,主节点通常设置为100advert_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.hqwc.cn/news/479651.html

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

相关文章

爬虫学习笔记-scrapy爬取电影天堂(双层网址嵌套)

1.终端运行scrapy startproject movie,创建项目 2.接口查找 3.终端cd到spiders,cd scrapy_carhome/scrapy_movie/spiders,运行 scrapy genspider mv https://dy2018.com/ 4.打开mv,编写代码,爬取电影名和网址 5.用爬取的网址请求,使用meta属性传递name ,callback调用自定义的…

【2024软件测试面试必会技能】Unittest(3):unittest_断言操作

unittest断言 断言即进行预期结果和实际结果比对 unittest中常用的assert语句 assertEqual(a, b)    a b assertNotEqual(a, b)    a ! b assertTrue(x)        bool(x) is True assertFalse(x)       bool(x) is False assertIs(a, b)…

【教3妹学编程-算法题】相同分数的最大操作数目 II

3妹:2哥,干嘛呢,怎么又在吃泡面 2哥 : 这不是过年下血本,给小侄子买了一个ps5吗, 哎,我自己都舍不得用,不能让人说咱小气不是。 3妹:神马,他才6岁吧, 就这么喜…

Solidworks:钣金模型作业

有了实体模型设计的基础,钣金模型掌握起来很容易。

使用AndroidStudio调试Framework

1.前言 最近在工作过程中,涉及到FW的一些修改,比如PhoneWindowManager,只能通过加日志看打印的方式查看一些内容,比较低效,所以想了解一下FW的调试方式,后来发现AS就可以调试FW.我平时都是在Docker服务器编…

leetcode1049:最后一块石头的重量二

解题思路: 把石头堆分割成差不多的两堆,使得两堆差值最小 dp数组的含义: dp[j]:背包容量为j的背包最大重量(价值)为dp[j] dp[j] max(dp[j],dp[j-stones[i]] stones[i]) 初始化:(dp数组的大小根据题目进行定义&a…

APISIX 可观测性最佳实践

APISIX 介绍 Apache APISIX 是一个动态、实时、高性能的云原生 API 网关。它构建于 NGINX ngx_lua 的技术基础之上,充分利用了 LuaJIT 所提供的强大性能。 APISIX 主要分为两个部分: APISIX 核心:包括 Lua 插件、多语言插件运行时&#x…

【Pytorch 基础教程2】10分钟掌握Tensor基础 VSCode +Pytorch配置

Pytorch 基础教程 02 Tensor PyTorch 作为Numpy的代替品,可以使用GPU的强大计算能力 提供最大的灵活性和告诉的深度学习研究平台 这里补充上实验环境调试:第一次使用VS Code可以参考:PyTorch(超详细)部署与激活 举起Py…

【2024软件测试面试必会技能】allure测试报告(2): allure测试报告的使用步骤

allure使用步骤如下: 一、通过DOS窗口命令生成allure测试报告: 1、在命令模式下中切换到pytest测试用例路径下,执行命令:py.test测试文件--alluredir报告路径,生成xml报告 2、在命令模式下执行命令:allu…

Vue的个人笔记

Vue学习小tips ctrl s ----> 运行 alt b <scrip> 链接 <script src"https://cdn.jsdelivr.net/npm/vue2.7.16/dist/vue.js"></script> 插值表达式 指令

第六届计算机科学与技术在教育中的应用国际会议(CSTE 2024)

2024年第六届计算机科学与技术在教育中的应用国际会议&#xff08;CSTE 2024&#xff09;将于4月19-21日在中国西安举行。此次会议由陕西师范大学主办&#xff0c;陕西师范大学教育学部承办。在前五届成功举办的基础上&#xff0c;CSTE 2024将继续关注计算机科学与技术在教育领…

【Git】:分支管理

分支管理 一.概念二.分支管理基本操作三.分支管理策略1.noff模式2.分支策略 一.概念 在版本回退⾥&#xff0c;你已经知道&#xff0c;每次提交&#xff0c;Git都把它们串成⼀条时间线&#xff0c;这条时间线就可以理解为是⼀个分⽀。截⽌到⽬前&#xff0c;只有⼀条时间线&…