基于国产银河麒麟服务器SP3项目实战(Nginx+Keepalive)实现高可用负载均衡

一、环境准备

192.168.113.11Nginx+Keepalive(Master)
192.168.113.22Nginx+keepalive(Backup)
192.168.113.33Nginx(web服务器)
192.168.113.44

Nginx(服务器)

 

二、环境搭建准备

2.1 Nginx源码编译安装

参考作责之前发布《Nginx源码编译安装》https://blog.csdn.net/m0_55213400/article/details/147066230?spm=1001.2014.3001.5501

2.2 Nginx配置负载均衡反向代理

        192.168.113.11

        192.168.113.22

    在http{ }模块定义地址池upstream releserver {server 192.168.113.33:80;server 192.168.113.44:80;}server {listen       80;server_name  localhost;#charset koi8-r;#access_log  logs/host.access.log  main;location / {proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_set_header X-Forwarded-Proto $scheme;proxy_connect_timeout 5s;proxy_read_timeout 30s;proxy_send_timeout 10s;proxy_pass http://releserver; 调用地址池}

2.3 web服务器配置        

        192.168.113.33

        192.168.113.44

        站点目录:自定义

        location / {#allow 0.0.0.0/24;  # 公司内网#allow 10.0.0.0/8;      # 内部服务器#deny all;              # 拒绝其他所有IPproxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_set_header X-Forwarded-Proto $scheme;proxy_connect_timeout 5s;proxy_read_timeout 30s;proxy_send_timeout 10s;root   /usr/local/nginx/html/laoshi/admin;index  index.html index.htm;}

2.3 Keepalive编译安装

        keepalive官网下载链接https://www.keepalived.org/download.htmlhttps://www.keepalived.org/download.html

          编译步骤如下


yum install -y gcc gcc-c++ make automake autoconf libtooltar -zxvf keepalived-2.3.4.tar.gzcd keepalived-2.3.4/./configure   --prefix=/usr/local/keepalived   --sysconfdir=/etc   --with-init=systemd   --with-openssl   --with-snmpmake && make installcd /etc/keepalived/cp keepalived.conf.sample keepalived.conf

2.4 设置允许虚拟IP

        主备都需要

echo 'net.ipv4.ip_nonlocal_bind = 1' >> /etc/sysctl.conf && sysctl -p

2.5 开始配置keepalive   主备都需要配置(重点)

        virtual_router_id 51  必须与主备保持一致

        priority 100   如果主为100 则备低于100

        auth_type PASS   必须主备保持一致
        auth_pass 1111     必须主备保持一致

! Configuration File for keepalivedglobal_defs {router_id 192.168.113.11
}vrrp_script check_nginx {script "/usr/local/bin/check_nginx.sh"interval 2 #每隔2S执行脚本weight -20}vrrp_instance VI_1 {state MASTERinterface ens33virtual_router_id 51priority 100advert_int 1authentication {auth_type PASSauth_pass 1111}virtual_ipaddress {192.168.113.100 #定义虚拟IP}track_script {check_nginx}# Allow packets addressed to the VIPs above to be receivedaccept
}

        判断Nginx运行状态脚本

#!/bin/bash
#检查Nginx状态是否存在
if [ $(ps -C nginx --no-header | wc -l) -eq 0 ];then#Nginx不存在systemctl restart nginxsleep 3#以防万一再次尝试重启一下nginxif [ $(ps -C nginx --no-header | wc -l) -eq 0 ];then#重启失败 强制停止keepalived服务systemctl stop keepalivedexit 1fi
fi
exit 0 

三、验证是否正常 

        此时 虚拟IP正常显示 master

        此时 备主机不显示虚拟IP

        访问测试 http://192.168.111.100

        访问测试 http://192.168.111.100

        主服务器关机测试

        VIP飘移正常

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

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

相关文章

K近邻:从理论到实践

K近邻:从理论到实践 文章目录K近邻:从理论到实践1. 核心思想2. 距离度量3. k的选择与误差分析3.1 近似误差3.2 估计误差3.3 总误差4. kd树的构造与搜索4.1 kd树的构造4.2 kd树的搜索5. 总结6. K近邻用于iris数据集分类6.1加载数据6.2加载模型并可视化1. …

Dokcer的安装(ubuntu-20.04.6):

Dokcer的安装(ubuntu-20.04.6): 1.添加Docker仓库 #更新本地软件包索引,获取最新的软件包信息 sudo apt-get update #安装依赖包 sudo apt-get install -y \ ca-certificates \ curl \ gnupg \ lsb-release #创建密钥存储目录 sudo mkdir -p /etc/apt/…

CT图像重建原理

一、CT到底测了什么?硬件动作X 射线源与探测器阵列对置,围着物体旋转。每转到一个角度 θ(也叫一个视角 / view),源发射扇形/平行的射线束,探测器阵列上有很多“通道/像素/bin”(记作索引 n&…

【pycharm】 ubuntu24.04 搭建uv环境

通过uv配置python环境 一直是conda环境 现在有个开源项目说用uv更快更好 所以在pycharm搞起。 一开始在在一个conda项目的里面某个项目里搞 发现会被conda 环境影响。 导致deepseed 安装不了。 python 环境不对 # NOTE: We must explicitly request them as `dependencies` abo…

从软件工程角度谈企业管理

从软件工程角度谈企业管理企业管理,本质上是人与人之间的博弈。 管理的最大难题,不是定目标、不是写流程,而是:如何让个体的利益最大化路径,与组织的整体目标一致? 这就是经济学里的“激励相容”。 在互联网…

vue3 实现前端生成水印效果

vue3 实现前端生成水印效果首先一点哈,就是单纯web前端生成水印只能作为警示使用,如果享彻底防住几乎是不可能的,有无数种方式去掉web前端生成的水印,所以这种方式只当是一个君子协议吧。编写水印组件 首先直接把这部分封装成一个…

Armonia Mall超级数字生态WEB3商城的引领者

Armonia Mall是一个基于Web3技术的超级数字生态商城,旨在打造全球首家Web3数字普惠商城,帮助千万行销人实现数字生态创业,让全球一亿家庭共享数字经济红利。 Armonia Mall商城创始人:石玉华Armonia Mall七大超级机制(模…

Axios与Java Spring构建RESTful API服务集成指南

1 前后端分离时代的技术选择 现在的Web开发,前后端分离已经不是什么新鲜事了。前端用什么?很多团队选择Axios。后端呢?Java Spring依然是企业级应用的首选。 Axios这个JavaScript库确实好用,Promise-based的设计让异步请求变得简单…

Django ORM多对多关系实战指南

一、Django 多对多关系的原理 在关系型数据库中,多对多关系通常需要 第三张中间表 来维护两张表之间的对应关系。 在 Django 中,你只需要定义 ManyToManyField,Django 会自动帮你创建这张中间表。 特点: 可以双向查询(…

STM32 单片机开发 - TIM 定时器(PWM)

一、硬件定时器高级控制定时器 Advanced Control Timers (TIM1/TIM8)通用定时器 General Purpose Timers (TIM2/TIM3/TIM4/TIM5)通用定时器 General Purpose Timers (TIM15/TIM16/TIM17)基本定时器 Basic Timers (TIM6/TIM7)表 1 定时器种类二、TIM 中 PWM 概念PWM 的基本原理就…

OpenCV内置分类器实现简单的人脸识别

引言 人脸检测是计算机视觉领域的基础任务之一,广泛应用于安防监控、人机交互、图像美化等场景。今天我们将通过一段简洁的Python代码,使用OpenCV库实现实时摄像头人脸检测功能。无论你是计算机视觉新手还是有经验的开发者,这篇文章都能帮你理…

Tomcat 性能优化与高并发调优

Tomcat 性能优化与高并发调优1. 引言 经过前几篇文章的学习,我们已经掌握了 Tomcat 的核心原理: Connector 连接器容器体系(Engine → Host → Context → Wrapper)Servlet 执行链路线程模型(Executor Worker&#xf…

MacOS M1安装face_recognition

MacOS M1安装face_recognition一致失败,尝试网上各种方法还是失败,遂分享自己安装成功的经历。 conda虚拟环境python版本:3.9.23准备工作确保 Homebrew 已安装 Homebrew 是 macOS 的包管理器,用于安装依赖项。如果尚未安装&#x…

动态库和静态库的链接加载

静态库的链接与加载静态库(如.a或.lib文件)在编译时直接链接到可执行文件中。编译器会将静态库中实际用到的代码复制到最终的可执行文件,生成独立的二进制文件。优点是不依赖外部库文件,但会导致可执行文件体积较大。生成静态库的…

如何处理在pytorch环境中已经安装的matplotlib无法使用的问题

1 问题已经安装好的matplotlib包无法在pytorch环境中使用。2 方法方法一:用命令安装matplotlib :方法二:打开cmd,使用conda install matplotlib命令安装matplotlib库#输入以下代码段,查询当前执行路径import osos.sys.…

Linux基础命令汇总

系统基础指令 ls:列出目录内容 ls -a:显示所有文件(包括隐藏文件) ls -l:显示详细文件信息 ls /etc:列出 /etc 目录内容 示例: cat:查看文件内容 cat /etc/os-release:查看系统版本信息 cat file1:显示文件内容 cat file1 file2 > merged.txt:合并文件并输出到新…

一场史诗级的冒险——Docker命令大航海!

各位亲爱的开发者、运维勇士、以及所有对现代化软件部署充满好奇的小伙伴们!今天,我们将开启一场史诗级的冒险——Docker命令大航海!我们将乘坐“Docker号”巨轮,驶向容器化技术的星辰大海。 这不是一篇枯燥的说明书,而…

告别依赖混乱:Spring IoC 容器与 DI 依赖注入入门精讲

目录 什么是 IoC IoC 介绍 传统开发思路 解决方法 IoC 优势 DI IoC & DI 使用 IoC 详解 Bean 的存储 Controller(控制器存储) 获取 bean 对象的其他方法 bean 命名 面试题之 ApplicationContext pk BeanFactory Service(服…

视频理解学习笔记

目录 VideoRefer VideoPrism 核心解密:通用视频编码器的力量 VideoRefer VideoRefer 是由浙江大学和阿里达摩院联合推出的视频对象感知与推理技术,增强视频大型语言模型(Video LLMs)的空间-时间理解能力。简单一点来说就是可以…

P1198题解

题目链接 开题第一件事看数据范围.这里的范围是二十万,支持O(nlogn). 这是一个RMQ问题,同时要加点,我们因此考虑ST表或者线段树.这里用线段树是核弹打蚊子,没有意义,我们因此考虑ST表.我们注意到如果加点操作需要改动ST表原来的东西ST表就会炸掉,我们就要考虑更高级的数据结构…