Keepalived + Nginx双主架构

Keepalived + Nginx双主架构

环境准备:

keepalived_master1服务器+nginx:172.20.26.167

keepalived_master2服务器+nginx:172.20.26.198

各服务器关闭selinux、防火墙等服务。

开机安装部署nginx

在172.20.26.167服务器上

yum install nginx -y

echo "this is 167server" > /usr/share/nginx/html/index.html  #修改主页内容,方便区分

nginx

然后启动nginx服务。

在172.20.26.198服务器上

yum install nginx -y

echo "this is 198server" > /usr/share/nginx/html/index.html  修改主页内容,方便区分

nginx

然后启动nginx服务。

部署keepalived服务

分别在172.20.26.167、172.20.26.198安装keepalived服务

yum install keepalived -y

vim /etc/keepalived/keepalived.conf   #分别设置VIP1地址172.20.26.200、VIP2地址172.20.26.201,并增加chk_nginx 的脚本检测以及脚本追踪:

vrrp_script chk_nginx {

       script "/data/sh/chk_nginx.sh"

       interval 1

       weight 2

      }

track_script {

           check_nginx

           }

追踪上面所定义的chk_nginx,名字要与上面定义的一致。

 将配置文件拷贝到172.20.26.198服务器/etc/keepalived/目录下

scp /etc/keepalived/keepalived.conf 172.20.26.198:/etc/keepalived/

vim /etc/keepalived/keepalived.conf

分别在172.20.26.167、172.20.26.198服务器上创建/data/sh目录及chk_nginx.sh脚本:

mkdir -p /data/sh    #创建脚本目录

vim /data/sh/chk_nginx.sh   #编写脚本文件

#!/bin/bash

killall -0 nginx &>/dev/null

if [[ $? -ne 0]];then

   /etc/init.d/keepalived stop

fi

chmod +x /data/sh/chk_nginx.sh    #授权执行权限

两台服务器启动keepalived服务,查看VIP地址172.20.26.200、172.20.26.201分别在172.20.26.167、172.20.26.198服务器上

systemctl start keepalived

 域名绑定:

172.20.26.200 blog.jfedu.net

172.20.26.201 blog.jfedu.net

客户端访问blog.jfedu.net ,访问的是172.20.26.167服务器上的nginx站点。

测试

在172.20.26.167服务器上将nginx服务stop掉,客户端访问bolg.jfedu.net 将访问到 172.20.26.198服务器上的nginx站点“this is 198server”。

将172.20.26.167服务器上的nginx 服务启动后,客户端访问bolg.jfedu.net 又将访问到 172.20.26.167服务器上的nginx站点“this is 167server”。

如果172.20.26.167服务器上的keepalived服务down掉,VIP地址172.20.26.200将漂移到172.20.26.198服务器上,172.20.26.198服务器上将出现两个VIP地址,客户端访问nginx站点,也将访问到 172.20.26.198服务器上的nginx站点“this is 198server”。

当172.20.26.167服务器上keepalived服务重新启动后,将夺回172.20.26.200VIP地址,客户端访问bolg.jfedu.net 将访问到 172.20.26.167服务器上的nginx站点“this is 167server”。

当172.20.26.198服务器上的keepalived服务down掉,VIP 地址172.20.26.201将漂移到172.20.26.167服务器上。

当172.20.26.198服务器上keepalived服务重新启动后,将夺回172.20.26.201VIP地址;

至此,keepalived + nginx双主架构,部署完成。

Nginx+keepalived双主企业架构,在日常维护及管理过程中需要注意如下几个方面:

1、Keepalived主配置文件必须设置不同的VRRP名称,同时优先级和VIP设置也各不相同;

2、Nginx网站总访问量为两台Nginx服务器之和,可以写脚本自动统计访问量;

3、两台Nginx为Master,存在两个VIP地址,用户从外网访问VIP,需配置域名映射到两个VIP上方可。

4、通过外网DNS映射不同VIP的方法也称为DNS负载均衡模式;

5、可以通过Zabbix实时监控VIP访问状态是否正常。

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

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

相关文章

基于ADAS的车道线检测算法matlab仿真

目录 1.课题概述 2.系统仿真结果 3.核心程序与模型 4.系统原理简介 4.1 图像预处理 4.2 车道线特征提取 4.3 车道线跟踪 5.完整工程文件 1.课题概述 基于ADAS的车道线检测算法,通过hough变换和边缘检测方法提取视频样板中的车道线,然后根据车道线的弯曲情况…

在Excel中批量添加前后缀的三种方法,总有一种适合 你

你可以使用高级Excel函数将前缀和后缀快速应用于列。在使用大型电子表格时,为每个单元格添加后缀或前缀可能会花费很长时间,并使你疲惫不堪。 在这里,你可以通过几种快速简单的方式添加后缀或前缀,从而减少所需的手动操作。​我们将通过三种不同的方法向Excel电子表格添加…

互联网盲盒小程序,解锁了盲盒全新模式!

随着潮流玩具的兴起,盲盒因此产生,在时间的推移下,盲盒的发展正处于鼎盛时期。在今年,盲盒市场也将迎来300亿元的市场规模,而盲盒的受众群体也在收入能力较高的年轻人中。 盲盒具有独特的购买方式,它能够让…

硬件监测和系统诊断 -- TechTool Pro 18 中文

TechTool Pro 18是一款功能强大的硬件和软件诊断工具,它提供了多种功能来帮助用户维护和优化Mac电脑的性能。这些功能包括:硬盘检测和修复、内存测试、驱动器克隆、数据恢复、网络和连接测试、系统健康检查以及定期维护等。 TechTool Pro 18还具有直观的…

k8s--helm

什么是helm?在没有这个helm之前,deployment service ingress helm的作用 通过打包的方式,把deployment service ingress等打包在一块,一键式的部署服务,类似yum安装 官方提供的一个类似与安装仓库额功能,…

写着玩的程序:pycharm实现无限弹窗程序(非病毒程序,仅整蛊使用)

运行环境 PyCharm 2023.2.1 python3.11 具体内容 源代码 import tkinter as tk from tkinter import messagebox import threadingclass PopupGenerator:def __init__(self):self.root tk.Tk()self.root.geometry("200x120")self.root.title("无限弹窗&qu…

C# CefSharp 根据输入日期段自动选择日期

1,前言 搞这个Demo整整搞几天通宵,爆肝了。后做的效果出来,还是不错的。给小伙伴看看效果图。 2, 遇到的问题 日期之间相差多少个月数。开始时间框点击对应月份要点击多少次,结束时间框点击对应月份要点击多少次Xpath获取问题。…

理解LSTM一种递归神经网络(RNN)

1 递归神经网络结构 一个简单的传统神经网络结构如下图所示: 给他一些输入x0,x1,x2 … xt, 经过神经元作用之后得到一些对应的输出h0,h1,h2 … ht。每次的训练,神经元和神经元之间不需要传递任何信息。 递归神经网络和传统神经网络不同的一个点在于&am…

智能配电监控系统

摘要:利用微机综合保护测控装置 、控制单元、电力监测仪 、摄像机 ,设计开发出一套智能配电远程监控系统 ,实现配电室的无人值守 ,从而提高变配电运行现代化管理水平。 关键词:智能配电;现场监控&#xff…

IMX6ULL|GPIO子系统

一.GPIO子系统 GPIO是General Purpose I/O的缩写,即通用输入输出端口,简单来说就是MCU/CPU可控制的引脚,这些引脚通常有多种功能,最基本的是高低电平输入检测和输出,部分引脚还会与主控器的片上外设绑定,如…

性能篇:解密Stream,提升集合遍历效率的秘诀!

大家好,我是小米,一个热爱技术分享的小伙伴。今天我们来聊一聊 Java 中的 Stream,以及如何通过 Stream 来提高遍历集合的效率。 什么是Stream? 在开始深入讨论之前,我们先来了解一下什么是 Stream。 Stream 是 Java…

微信如何批量自动加好友?用它就对了!

你还在手动逐一输入号码,再搜索添加好友吗?这样实在是太麻烦了,还很费时间,稍不注意就会出错。不妨试试这个微信批量自动添加好友工具,解放双手,提高加人效率! 下面一起来看看如何操作吧&#…

(十一)Head first design patterns状态模式(c++)

状态模式 如何去描述状态机? 假设你需要实例化一台电梯,并模仿出电梯的四个状态:开启、关闭、运行、停止。也许你会这么写 class ILift{ public:virtual void open(){}virtual void close(){}virtual void run(){}virtual void stop(){} }…

机器学习实验1——朴素贝叶斯和逻辑回归分类Adult数据集

文章目录 🧡🧡实验内容🧡🧡🧡🧡数据预处理🧡🧡认识数据填充缺失值(“ ?”)将income属性替换为0-1变量筛除无效属性编码和缩放 🧡&…

GC6208 5V摄像机镜头驱动芯片,为什么可以替代AN41908,适用于摄像机镜头上

GC6208是一个镜头电机驱动IC摄像机和安全摄像机。该装置集成了一个由PID控制的可变光圈直流电机驱动器和两个通道的扫描隧道显微镜电机驱动器,用于变焦和聚焦控制。AN41908A是一款用于摄像机和安全摄像机的镜头马达驱动IC,具有lris控制功能。电压驱动系统…

基于springboot+vue新能源汽车充电管理系统

摘要 新能源汽车充电管理系统是基于Spring Boot和Vue.js技术栈构建的一款先进而高效的系统,旨在满足不断增长的新能源汽车市场对充电服务的需求。该系统通过整合前后端技术,实现了用户注册、充电桩管理、充电订单管理等核心功能,为用户提供便…

bxCAN 工作模式

bxCAN 工作模式 bxCAN 有三种主要的工作模式:初始化、正常和睡眠。硬件复位后,bxCAN 进入睡眠模式以降低功耗,同时 CANTX 上的内部上拉电阻激活。软件将主控制寄存器(CAN_MCR---CAN master control register)的初始化…

HTML+CSS:3D轮播卡片

效果演示 实现了一个3D翻转的卡片动画&#xff0c;其中每个卡片都有不同的图片和不同的旋转角度。整个动画循环播放&#xff0c;无限次。整个页面的背景是一个占据整个屏幕的背景图片&#xff0c;并且页面内容被隐藏在背景图片之下。 Code <div class"container"…

高效构建Java应用:Maven的使用总结

一、Maven简介和快速入门 1.1 Maven介绍 Maven-Introduction Maven 是一款为 Java 项目构建管理、依赖管理的工具&#xff08;软件&#xff09;&#xff0c;使用 Maven 可以自动化构建、测试、打包和发布项目&#xff0c;大大提高了开发效率和质量。 总结&#xff1a;Maven…

09-微服务Sentinel整合GateWay

一、概述 在微服务系统中&#xff0c;网关提供了微服务系统的统一入口&#xff0c;所以我们在做限流的时候&#xff0c;肯定是要在网关层面做一个流量的控制&#xff0c;Sentinel 支持对 Spring Cloud Gateway、Zuul 等主流的 API Gateway 进行限流。 1.1 总览 Sentinel 1.6.…