keepalive+nginx高可用架构

keepalive+nginx架构

一.配置真实服务器web1和web2

1.关闭防火墙,并在真实服务器下载http服务

[root@localhost ~]# systemctl stop firewalld.service 
[root@localhost ~]# setenforce 0
[root@localhost ~]# yum install  httpd  -y

2.分别在web1和web2上制作网页,并开启http服务

web1
[root@localhost ~]# cd /var/www/html
[root@localhost html]# ls
[root@localhost html]# echo  zxy13 >  /var/www/html/index.html
[root@localhost html]# systemctl  start  httpdweb2
[root@localhost ~]# cd /var/www/html
[root@localhost html]# ls
[root@localhost html]# echo  zxy14 >  /var/www/html/index.html
[root@localhost html]# systemctl  start  httpd

web1

web2

二.配置代理服务器

代理服务器:主192.168.240.11

                      备192.168.240.12

1.关闭防火墙,并安装epel源和nginx

[root@localhost ~]# systemctl stop firewalld.service 
[root@localhost ~]# setenforce 0
[root@localhost ~]# yum  install epel-release.noarch  -y
[root@localhost ~]# yum  install nginx  -y

2.编辑nginx配置文件

在192.168.240.11上

配置文件http语句块下加入组和server语句块下加入location匹配实现负载均衡

3.将192.168.240.11代理服务器上/etc/nginx/nginx.conf文件远程拷贝到192.168.240.12的/etc/nginx/nginx.conf

4.安装下载keepalive服务,编辑配置文件

在192.168.240.11上 vim /etc/keepalived/keepalived.conf

! Configuration File for keepalivedglobal_defs {notification_email {acassen@firewall.locfailover@firewall.locsysadmin@firewall.loc}notification_email_from Alexandre.Cassen@firewall.locsmtp_server 127.0.0.1      # 修改邮箱地址smtp_connect_timeout 30  router_id LVS01            # 修改名称vrrp_skip_check_adv_addr  #vrrp_strict              #关闭严格模式vrrp_garp_interval 0vrrp_gna_interval 0
}vrrp_script check_down {script  "/etc/keepalived/ng.sh"   interval 1weight -30fall  3rise 2timeout 2
}vrrp_script check_down {script  "/etc/keepalived/ng.sh"   #指明脚本的位置   interval 1            #每隔1s 执行一次检测weight -30             #如果 脚本执行失败自动减少优先级30fall  3                # 3次不成功才标注为失败 rise 2                 #nginx  重新起来后检测两次成功 才真的成功  timeout 2               #超时时间  2s 
}vrrp_instance VI_1 {state MASTERinterface ens33    #修改网卡的名称virtual_router_id 51priority 100advert_int 1authentication {auth_type PASSauth_pass 1111}virtual_ipaddress {192.168.240.188  #修改ip}track_script {check_down}}

5.在192.168.240.13(由于12机上环境不干净换机做)上 vim /etc/keepalived/keepalived.conf

router_id LVS02  #修改为LVS02vrrp_skip_check_adv_addr#vrrp_strict  #注释关闭严格模式vrrp_garp_interval 0vrrp_gna_interval 0
}
vrrp_script check_down {script  "/etc/keepalived/ng.sh"interval 1weight -30fall  3rise 2timeout 2
}
vrrp_instance VI_1 {state BACKUP  #修改为备interface ens33  #网卡virtual_router_id 51priority 80  #优先级advert_int 1authentication {auth_type PASSauth_pass 1111}virtual_ipaddress {192.168.240.188 #地址}track_script {check_down}
}

6.在客户机上测试

(1)curl  虚拟地址192.168.240.188

tcpdump客户机上抓包主服务器在发送报文

(2)关闭主服务器nginx使用ip  a  查看   192.168.240.188 已经不在主服务器上

tcpdump客户机上抓包备服务器在发送报文

使用  ip  a  命令查看备服务器192.168.240.13 ,192.168.240.188在备服务器上

启动主服务器

ip  a  查看主服务器,192.168.240.188 在主服务器上被主服务器抢占

tcpdump   -i ens33 host 224.0.0.18 -nn  在客户机查看

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

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

相关文章

【Redis】List的常用命令以及常用场景

Redis List 是一个简单的链表,支持在两端进行插入和删除操作。这种数据结构在许多场景下非常有用,例如任务队列、消息队列等。Redis 提供了一系列针对 List 的操作命令,帮助我们更高效地操作链表。 1. List常用命令 操作类型命令时间复杂度…

Ubuntu系统使用快速入门实践(八)—— git 命令使用

Ubuntu系统使用快速入门实践系列文章 下面是Ubuntu系统使用系列文章的总链接,本人发表这个系列的文章链接均收录于此 Ubuntu系统使用快速入门实践系列文章总链接 下面是专栏地址: Ubuntu系统使用快速入门实践系列文章专栏 文章目录 Ubuntu系统使用快速…

高温工况下雷达物位计连续冷却方法

高温工况下雷达物位计连续冷却方法 1、提出前状况: 雷达物位计是一种新型物位测量仪表,它采用与介质非接触的测量方式,具有准确度高(分辨率可达1mm)、测量范围大、无可动部件,适用于粘度大的介质、有毒或无毒卫生型介质,有腐蚀性、磨蚀性介质的物位测量,它是通过天线…

【Qt6.3 基础教程 13】 掌握数据展示:使用QTableView和QStandardItemModel

文章目录 前言QTableView:表格式数据的强力工具主要特性 QStandardItemModel:灵活的数据模型主要特性 结合使用QTableView和QStandardItemModel步骤一:初始化模型步骤二:填充数据步骤三:创建视图并设置模型 结论 前言 …

JupyterLab使用指南(八):更改JupterLab左侧默认打开目录

在JupyterLab中,默认打开路径通常是由其配置文件中的root_dir设置决定的。如果你没有特意设置这个配置项,JupyterLab可能会使用当前用户的主目录或者上一次关闭时的路径作为默认打开路径。 更改JupyterLab默认路径的操作在不同操作系统下大体相似&…

Autoencoder(AE)、Variational Autoencoder(VAE)和Diffusion Models(DM)了解

Autoencoder (AE) 工作原理: Autoencoder就像一个数据压缩机器。它由两部分组成: 编码器:将输入数据压缩成一个小小的代码。解码器:将这个小代码还原成尽可能接近原始输入的数据。 优点和应用: 简单易懂&#xff1…

windows使用curl命令出现乱码的解决方案

大家好,我是爱编程的喵喵。双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。现为CSDN博客专家、人工智能领域优质创作者。喜欢通过博客创作的方式对所学的…

海口注册公司代理记账的服务优势与流程解析

在海口注册公司加入代理记账服务有多种优势。代理记账公司提供专业的财务服务,帮助企业节约成本、提高效率,实现财务管理的合规性。以下是代理记账服务的主要优势和流程解析: https://www.9733.cn/news/detail/173.html 一、代理记账服务的…

分布式光纤测温DTS在工程现场中稳定性与可靠性如何?

20年前,分布式光纤测温(Distributed Temperature Sensing,DTS)技术的发展尚不成熟,设备成本高昂,其稳定性与可靠性也存在一定问题。然而,经过二十多年的不断发展与创新,DTS技术在工程现场应用中取得了显著进…

企业智慧办公管理平台

摘要 在之前的疫情中,大多数企业都受到了较大的冲击,然而一些公司却因为工作的特殊性可以居家远程办公,不过这些企业在管理员工的过程中却遇到了较大的困难,这是因为这些企业的管理系统根本大多都无法管理员工的工作项目&#xf…

Dockerfile-php7.4.33

# 使用一个包含基本编译工具的基础镜像 FROM ubuntu:latestRUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && \echo "Asia/Shanghai" > /etc/timezone# 更新包列表并安装必要的编译工具和库 RUN apt-get update && apt-get i…

AI学习指南机器学习篇-多项式朴素贝叶斯算法简介

AI学习指南机器学习篇-多项式朴素贝叶斯算法简介 前言 随着人工智能技术的快速发展,机器学习作为其中的一个重要分支已经成为各个领域的热门话题。而在机器学习算法中,朴素贝叶斯算法因其简单易懂、效果不俗而备受青睐。本文将针对多项式朴素贝叶斯算法…

YOLOv8目标跟踪model.track的封装

YOLOv8目标跟踪model.track的封装 flyfish 在使用目标跟踪时, 调用model.track整个步骤就完成,track封装了内部运行的步骤。这里主要说回调部分。 使用model.track import cv2from ultralytics import YOLO from collections import defaultdict impo…

思科路由器密码恢复方法

1.密码恢复原理 Cisco路由器保存了几种不同的配置参数,并存放在不同的内存模块中。 Cisco系列路由器的内存有:ROM,闪存(Flashmemory),RAM,不可变RAM和动态内存(DRAM)等5种。 一般情况…

场外个股期权怎么看涨跌情况?怎么判断是选涨还是选跌?

今天带你了解场外个股期权怎么看涨跌情况?怎么判断是选涨还是选跌?在期权市场中,投资者想要在其中获得盈利,学会判断涨跌是期权投资者赚钱路上要走的第一步。 判断场外个股期权的涨跌情况主要可以从以下几个方面入手: …

二维数组的知识

二维数组: 1.同种数组类型的集合 2.连续的内存空间 3.由多个一维数组组成 定义方式:   存储类型 数据类型 数组名[常量表达式(行数)][常量表达式(列数)]&#xff1…

Eigen矩阵模板类------c++

头文件 #include <Eigen/Core> #include <Eigen/Dense>矩阵 // 定义了一个2x3的浮点型矩阵 Eigen::Matrix<float, 2, 3> matrix_23;matrix_23 << 1, 2, 3, 4, 5, 6;cout << "matri_23" << endl;cout << matrix_23 <&l…

激励-保健理论和公平理论

激励-保健理论 herzberg的激励-保健理论中&#xff0c;保健因素是context of a job&#xff0c;激励因素是content of a job。 context of a job是受组织控制的因素&#xff0c;比如工作条件&#xff0c;基本工资&#xff0c;公司政策等&#xff0c;个人无法支配。content of…

探索Python元类的奥秘及其应用场景

探索Python元类的奥秘及其应用场景 一、引言 在Python中&#xff0c;元类&#xff08;Metaclasses&#xff09;是一个相对高级且容易被忽视的主题。然而&#xff0c;对于深入理解Python的面向对象编程模型以及进行高级框架和库的设计来说&#xff0c;元类是一个不可或缺的工具…

【C语言】解决C语言报错:Buffer Overflow

文章目录 简介什么是Buffer OverflowBuffer Overflow的常见原因如何检测和调试Buffer Overflow解决Buffer Overflow的最佳实践详细实例解析示例1&#xff1a;字符串操作不当示例2&#xff1a;数组访问越界示例3&#xff1a;未检查输入长度示例4&#xff1a;使用不安全的函数 进…