江苏网站建设哪家好/中央新闻频道直播今天

江苏网站建设哪家好,中央新闻频道直播今天,工信网站投诉系统,统一社会信用代码Keepalived 是一个基于 VRRP(虚拟路由冗余协议)实现的高可用解决方案,常用于构建高可用性的服务器集群,特别是在负载均衡场景中,可确保服务的不间断运行。以下为你详细介绍它: 0主要功能 高可用性&#x…

Keepalived 是一个基于 VRRP(虚拟路由冗余协议)实现的高可用解决方案,常用于构建高可用性的服务器集群,特别是在负载均衡场景中,可确保服务的不间断运行。以下为你详细介绍它:

0主要功能

  • 高可用性:借助 VRRP 协议,Keepalived 能在多台服务器间自动切换,当主服务器出现故障时,备用服务器可迅速接替工作,保障服务的持续可用。
  • 负载均衡:Keepalived 可与 LVS(Linux 虚拟服务器)集成,实现对多台服务器的负载均衡,依据预设的算法将客户端请求分发到不同的服务器上。
  • 健康检查:它能对服务器的健康状况进行检查,实时监测服务器的服务状态,一旦发现服务器异常,就会将其从服务列表中移除,待恢复正常后再添加回来。

Keepalived 的工作原理主要基于 VRRP 协议。VRRP 将多台路由器(或服务器)组成一个虚拟路由器,这个虚拟路由器有一个唯一的虚拟 IP 地址(VIP)。在这个虚拟路由器中,有一个主路由器(Master)和多个备用路由器(Backup)。

  • 主路由器:承担处理客户端请求的任务,同时定期发送 VRRP 通告给备用路由器,告知它们自己的存活状态。
  • 备用路由器:处于监听状态,接收主路由器发送的 VRRP 通告。若在一定时间内未收到通告,备用路由器会认为主路由器出现故障,然后通过选举机制选出新的主路由器,并接管虚拟 IP 地址,继续提供服务。

1环境准备

IP地址主机名软件节点
192.168.72.30masterkeepalived, nginx主节点
192.168.72.32backupkeepalived, nginx从节点
192.168.72.100Vip地址

1.1前期准备

1.1.1修改IP

#master

[root@master ~]# nmcli c modify ens160 ipv4.method manual ipv4.addresses 192.168.33.30/24 ipv4.gateway 192.168.33.30 ipv4.dns 223.5.5.5 connection.autoconnect yes
[root@master ~]# nmcli c up ens160
 

#backup

[root@master ~]# nmcli c modify ens160 ipv4.method manual ipv4.addresses 192.168.33.30/24 ipv4.gateway 192.168.33.30 ipv4.dns 223.5.5.5 connection.autoconnect yes
[root@master ~]# nmcli c up ens160

1.1.2关闭防火墙

[root@master ~]# systemctl stop firewalld

[root@backup ~]# systemctl stop firewalld

1.1.3安装nginx服务

#master

[root@master ~]# systemctl stop firewalld
[root@master ~]# mount /dev/sr0 /mnt
mount: /mnt: WARNING: source write-protected, mounted read-only.
[root@master ~]# dnf install nginx -y
Updating Subscription Management repositories.
Unable to read consumer identity

This system is not registered with an entitlement server. You can use "rhc" or "subscription-manager" to register.

BaseOS           757 kB/s | 2.7 kB     00:00    
AppStream        1.3 MB/s | 3.2 kB     00:00    
baseos           2.7 MB/s | 2.7 kB     00:00    
appstream        3.1 MB/s | 3.2 kB     00:00    
Dependencies resolved.
=================================================
 Package  Arch   Version         Repo       Size
=================================================
Installing:
 nginx    x86_64 2:1.20.1-20.el9 AppStream  40 k
Installing dependencies:
 nginx-core
          x86_64 2:1.20.1-20.el9 AppStream 574 k

Transaction Summary
=================================================
Install  2 Packages

Total size: 614 k
Installed size: 1.7 M
Downloading Packages:
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
  Preparing        :                         1/1 
  Installing       : nginx-core-2:1.20.1-2   1/2 
  Installing       : nginx-2:1.20.1-20.el9   2/2 
  Running scriptlet: nginx-2:1.20.1-20.el9   2/2 
  Verifying        : nginx-2:1.20.1-20.el9   1/2 
  Verifying        : nginx-core-2:1.20.1-2   2/2 
Installed products updated.

Installed:
  nginx-2:1.20.1-20.el9.x86_64                   
  nginx-core-2:1.20.1-20.el9.x86_64              

Complete!


 

#backup

[root@backup ~]# mount /dev/sr0 /mnt
mount: /mnt: WARNING: source write-protected, mounted read-only.
[root@backup ~]# dnf install nginx -y
Updating Subscription Management repositories.
Unable to read consumer identity

This system is not registered with an entitlement server. You can use "rhc" or "subscription-manager" to register.

BaseOS       1.4 MB/s | 2.7 kB     00:00    
AppStream    1.4 MB/s | 3.2 kB     00:00    
baseos       2.7 MB/s | 2.7 kB     00:00    
appstream    3.1 MB/s | 3.2 kB     00:00    
Dependencies resolved.
=============================================
 Package
      Arch   Version         Repo       Size
=============================================
Installing:
 nginx
      x86_64 2:1.20.1-20.el9 AppStream  40 k
Installing dependencies:
 nginx-core
      x86_64 2:1.20.1-20.el9 AppStream 574 k

Transaction Summary
=============================================
Install  2 Packages

Total size: 614 k
Installed size: 1.7 M
Downloading Packages:
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
  Preparing        :                     1/1 
  Installing       : nginx-core-2:1.20   1/2 
  Installing       : nginx-2:1.20.1-20   2/2 
  Running scriptlet: nginx-2:1.20.1-20   2/2 
  Verifying        : nginx-2:1.20.1-20   1/2 
  Verifying        : nginx-core-2:1.20   2/2 
Installed products updated.

Installed:
  nginx-2:1.20.1-20.el9.x86_64               
  nginx-core-2:1.20.1-20.el9.x86_64          

Complete!

#区分页面

[root@master ~]# echo "hello master" > /usr/share/nginx/html/index.html 
[root@backup ~]# echo "hello backup" > /usr/share/nginx/html/index.html

#启动服务

[root@master ~]# systemctl start nginx

[root@backup ~]# systemctl start nginx

#测试

[root@master ~]# curl 192.168.33.30
hello master
[root@backup ~]# curl 192.168.33.32
hello backup

2keepalived配置

2.1下载keepalived

#master

[root@master ~]# dnf install keepalived -y
Updating Subscription Management repositories.
Unable to read consumer identity

This system is not registered with an entitlement server. You can use "rhc" or "subscription-manager" to register.

Last metadata expiration check: 0:08:59 ago on Tue 18 Mar 2025 07:25:43 PM CST.
Dependencies resolved.
=================================================
 Package    Arch   Version       Repo       Size
=================================================
Installing:
 keepalived x86_64 2.2.8-3.el9   AppStream 564 k

Transaction Summary
=================================================
Install  1 Package

Total size: 564 k
Installed size: 1.6 M
Downloading Packages:
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
  Preparing        :                         1/1 
  Installing       : keepalived-2.2.8-3.el   1/1 
  Running scriptlet: keepalived-2.2.8-3.el   1/1 
  Verifying        : keepalived-2.2.8-3.el   1/1 
Installed products updated.

Installed:
  keepalived-2.2.8-3.el9.x86_64                  

Complete!

#backup

[root@backup ~]# dnf install keepalived -y
Updating Subscription Management repositories.
Unable to read consumer identity

This system is not registered with an entitlement server. You can use "rhc" or "subscription-manager" to register.

Last metadata expiration check: 0:08:59 ago on Tue 18 Mar 2025 07:25:43 PM CST.
Dependencies resolved.
=============================================
 Package  Arch   Version     Repo       Size
=============================================
Installing:
 keepalived
          x86_64 2.2.8-3.el9 AppStream 564 k

Transaction Summary
=============================================
Install  1 Package

Total size: 564 k
Installed size: 1.6 M
Downloading Packages:
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
  Preparing        :                     1/1 
  Installing       : keepalived-2.2.8-   1/1 
  Running scriptlet: keepalived-2.2.8-   1/1 
  Verifying        : keepalived-2.2.8-   1/1 
Installed products updated.

Installed:
  keepalived-2.2.8-3.el9.x86_64              

Complete!

2.2配置keepalived

#备份配置文件

[root@master ~]# rpm -qc keepalived 
/etc/keepalived/keepalived.conf
/etc/sysconfig/keepalived
[root@master ~]# cp /etc/keepalived//keepalived.conf{,.bak}
 

[root@backup ~]# rpm -qc keepalived 
/etc/keepalived/keepalived.conf
/etc/sysconfig/keepalived
[root@backup ~]# cp /etc/keepalived//keepalived.conf{,.bak}

#master

[root@master ~]# cat /etc/keepalived/keepalived.conf
! Configuration File for keepalived

global_defs {
   router_id master
}

vrrp_instance VI_1 {
    state MASTER
    interface ens160
    virtual_router_id 51
    priority 100
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress { 
        192.168.33.100
    }
}


#backup

[root@backup ~]# vim /etc/keepalived/keepalived.conf
[root@backup ~]# cat /etc/keepalived/keepalived.conf
! Configuration File for keepalived

global_defs {
   router_id master
}

vrrp_instance VI_1 {
    state MASTER
    interface ens160
    virtual_router_id 51
    priority 90
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        192.168.33.100
    }
}

#启动keepalived服务

[root@master ~]# systemctl start keepalived
[root@backup ~]# systemctl start keepalived

#IP查看

[root@master ~]# ip add
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: ens160: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 00:0c:29:7b:ad:14 brd ff:ff:ff:ff:ff:ff
    altname enp3s0
    inet 192.168.33.30/24 brd 192.168.33.255 scope global noprefixroute ens160
       valid_lft forever preferred_lft forever
    inet 192.168.33.100/32 scope global ens160
       valid_lft forever preferred_lft forever
    inet6 fe80::20c:29ff:fe7b:ad14/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever


[root@backup ~]# ip add
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: ens160: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 00:0c:29:0f:fe:20 brd ff:ff:ff:ff:ff:ff
    altname enp3s0
    inet 192.168.33.32/24 brd 192.168.33.255 scope global noprefixroute ens160
       valid_lft forever preferred_lft forever
    inet6 fe80::20c:29ff:fe0f:fe20/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever
#

#暂停服务,虚拟ip消失

[root@master ~]#  systemctl stop keepalived.service 
[root@master ~]# ip add
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: ens160: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 00:0c:29:7b:ad:14 brd ff:ff:ff:ff:ff:ff
    altname enp3s0
    inet 192.168.33.30/24 brd 192.168.33.255 scope global noprefixroute ens160
       valid_lft forever preferred_lft forever
    inet6 fe80::20c:29ff:fe7b:ad14/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever

[root@backup ~]# ip add
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: ens160: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 00:0c:29:0f:fe:20 brd ff:ff:ff:ff:ff:ff
    altname enp3s0
    inet 192.168.33.32/24 brd 192.168.33.255 scope global noprefixroute ens160
       valid_lft forever preferred_lft forever
    inet6 fe80::20c:29ff:fe0f:fe20/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever

实验完成!!!

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

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

相关文章

5.0 VisionPro调用USB相机的方法与步骤说明(一)

本文介绍如何在C#中调用visionPro以处理USB相机采集到的图片。示例如下: 主要思路如下: 1. 使用AForge来打开以及采集usb相机照片。 usb相机处于一直运行状态。每隔100ms采集一次照片。且触发一次事件。 public void Start() { this.videoSourcePlayer.Stop(); …

论文阅读:Deep Hybrid Camera Deblurring for Smartphone Cameras

今天介绍一篇 ACM SIGGRAPH 2024 的文章&#xff0c;关于手机影像中的去模糊的文章。 Deep Hybrid Camera Deblurring for Smartphone Cameras Abstract 手机摄像头尽管取得了显著的进步&#xff0c;但由于传感器和镜头较为紧凑&#xff0c;在低光环境下的成像仍存在困难&am…

Linux中的基本指令(下)

目录 mv指令 more指令 less指令 head指令 tail 指令 继续理解文件 重定向和追加重定向操作 理解管道 find指令 whereis 指令 bc指令 uname ‒r指令 grep 指令 关机 扩展命令 zip/unzip 指令 tar指令 关于rzsz 系统间的文件互传 接上&#xff01; mv指令 m…

Unity WebGL IIS报错无法使用

Unity WebGL IIS报错无法使用 原因1&#xff1a;WebGL文件夹无访问权限 右键WebGL文件夹-属性 点击安全-编辑-添加 输入ever点击确定-应用即可

docker-compose install nginx(解决fastgpt跨区域)

CORS前言 CORS(Cross-Origin Resource Sharing,跨源资源共享)是一种安全措施,它允许或拒绝来自不同源(协议、域名、端口任一不同即为不同源)的网页访问另一源中的资源。它的主要作用如下: 同源策略限制:Web 浏览器的同源策略限制了从一个源加载的文档或脚本如何与另一…

vulnhub靶场之loly靶机

前言 挑战攻克该靶机30分钟 靶机&#xff1a;loly靶机&#xff0c;IP地址为192.168.10.11 攻击&#xff1a;kali&#xff0c;IP地址为192.168.10.6 靶机和攻击机都采用VMware虚拟机&#xff0c;都采用桥接网卡模式 文章涉及的靶机及工具&#xff0c;都可以自行访问官网或者项…

Deepseek API+Python测试用例一键生成与导出-V1.0.2【实现需求文档图片识别与用例生成自动化】

在测试工作中&#xff0c;需求文档中的图片&#xff08;如界面设计图、流程图&#xff09;往往是测试用例生成的重要参考。然而&#xff0c;手动提取图片并识别内容不仅耗时&#xff0c;还容易出错。本文将通过一个自研小工具&#xff0c;结合 PaddleOCR 和大模型&#xff0c;自…

Excel(函数篇):COUNTIF与CONUTIFS函数、SUMIF与SUMIFS函数、ROUND函数、MATCH与INDEX函数、混合引用与条件格式

目录 COUNTIF和COUNTIFS函数COUNTIF函数COUNTIFS函数SUMIF和SUMIFS函数SUMIF函数SUMIFS函数SUMIFS函数与控件实现动态年月汇总ROUND、ROUNDUP、ROUNDDOWN函数单元格混合引用条件格式与公式,标记整行数据MATCH和INDEX函数COUNTIF和COUNTIFS函数 COUNTIF函数 统计下“苏州”出现…

上位机数据可视化:使用QtCharts绘制波形图

工程配置 CMake文件 find_package(Qt5 COMPONENTS Charts REQUIRED)target_link_libraries(zhd-desktop PRIVATE Qt5::Charts)包含头文件以及名称空间&#xff08;这个很重要&#xff0c;没有包含名称空间编译器会提示找不到相关的类型&#xff09; #include <QtCharts&g…

CSS - Pseudo-classes(伪类选择器)

目录 一、介绍二、常用种类三、案例实现案例一&#xff1a;a标签使用link/visited/hover/active案例二&#xff1a;表单元素使用focus/disabled案例三、通过其余伪类实现元素灵活选中 一、介绍 CSS 伪类&#xff08;Pseudo-classes&#xff09; 用于定义元素的特定状态或结构位…

Ubuntu22.04虚拟机里安装Yolov8流程

1. 安装pytorch sudo apt install nvidia-cuda-toolkit nvcc --version # 官方适配地址&#xff1a;https://download.pytorch.org/whl/torch/import torch print(torch.__version__) print(torch.cuda.is_available())2. 安装环境 # cuDNN 安装&#xff1a;https://develop…

Spring 声明式事务管理

Spring 编程的方式实现事务管理&#xff0c;这样太过麻烦&#xff0c;需要在每个方法上面加上相应的事务处理操作&#xff0c;声明式事务处理能够很好的解决这个问题&#xff0c;比如通过tx命名空间&#xff0c;这样只需要配置就可以检测到相关的方法&#xff0c;或者是通过tra…

Chat2DB:让数据库管理像聊天一样简单

数据库工具的痛点与破局 在数据爆炸的时代&#xff0c;数据库管理工具已成为企业高效运营的刚需。然而&#xff0c;传统工具如Navicat、DBeaver虽功能强大&#xff0c;却让非技术人员和SQL新手望而却步。复杂的界面、繁琐的手动操作、晦涩的语法规则&#xff0c;成为横亘在数据…

Navicat for Snowflake 震撼首发,激活数据仓库管理全新动能

近日&#xff0c;Navicat 家族迎来了一位全新成员 — Navicat for Snowflake。Snowflake 是一款基于云架构的现代数据仓库解决方案&#xff0c;以其弹性扩展、高性能和易用性著称。这次首发的Navicat for Snowflake 专为简化 Snowflake 数据库管理任务而精心打造。它凭借其直观…

【项目合集】智能语音小车-微信小程序控制

功能需求&#xff1a; 车子检测环境温度、湿度&#xff0c;上报 APP、WEB 端显示实时数据可通过 APP 控制小车前进、左转、右转可通过语音控制小车前进后退车上一个 LED 灯&#xff0c;可通过 WEB、小程序控制在 APP、WEB 上均可注册登录 硬件清单 硬件 功能 备注 ESP32 …

人工智能与人的智能,改变一生的思维模型分享【4】决策树

决策树&#xff08; DECISION TREE&#xff09; 一般由一个决策图和若干可能的结果组成。是一种通过罗列解题的关键步骤以及各步骤发生的条件和结果&#xff0c;由此来创建到达目标的规划。 我们很早就知道有一个方法&#xff0c;叫做当你苦闷、纠结的时候&#xff0c;把你的所…

利用余弦相似度在大量文章中找出抄袭的文章

我前面的2篇文章分别讲了如果利用余弦相似度来判断2篇文章的相似度&#xff0c;来确定文章是否存在抄袭&#xff0c;和余弦相似度的原理&#xff0c;即余弦相似度到底是怎么来判断文章的相似性高低的等等。这一篇再说下&#xff0c;对于文章字数多和大量文章时&#xff0c;如果…

设计模式-对象创建

对象创建 前言1. Factory Method1.1 模式介绍1.2 模式代码1.2.1 问题代码1.2.2 重构代码 1.3 模式类图1.4 要点总结 2. Abstract Factory2.1 模式介绍2.2 模式代码2.2.1 问题代码2.2.2 重构代码 2.3 模式类图2.4 要点总结 3. Prototype3.1 模式介绍3.2 模式代码3.3 模式类图3.4…

SQLAlchemy系列教程:批量插入数据

高效地批量插入数据对于应用程序的性能至关重要。SQLAlchemy为批处理操作提供了几种机制&#xff0c;可以最大限度地减少开销并加快数据库事务时间。在本指南中&#xff0c;我们将探讨如何使用SQLAlchemy执行批量插入&#xff0c;包括从基础技术到高级技术。 搭建环境 在开始之…

openEuler系统迁移 Docker 数据目录到 /home,解决Docker 临时文件占用大问题

根据错误信息 write /var/lib/docker/tmp/...: no space left on device&#xff0c;问题的根源是 根分区&#xff08;/&#xff09;的磁盘空间不足&#xff0c;而非 /home 分区的问题。以下是详细解释和解决方案&#xff1a; 问题原因分析 Docker 临时文件占用根分区空间&…