当前位置: 首页 > news >正文

keepalived的vip实现nginx节点的主备

nginx

wget http://nginx.org/download/nginx-1.18.0.tar.gz
tar zxvf nginx-1.18.0.tar.gzyum install -y gcc gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel libnl3-develcd nginx-1.18.0
mkdir -p /usr/local/nginx
#需要使用https,在编译时启用--with-http_ssl_module
./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-stream
make && make installln -s /usr/local/nginx/sbin/nginx /usr/local/bin/nginx
#验证
nginx -V

配置文件1

vi /usr/local/nginx/conf/nginx.conf#工作进程数量,一般设置为CPU核数的整数倍
worker_processes 4;
#一个worker进程所能打开文件的最大数量
worker_rlimit_nofile 40000;events {
#设置每一个worker进程可以并发处理的最大连接数,该值不能超过worker_rlimit_nofileworker_connections  8192;
}stream {upstream rancher_servers_http {least_conn;server ip1:80 max_fails=3 fail_timeout=5s;server ip2:80 max_fails=3 fail_timeout=5s;server ip3:80 max_fails=3 fail_timeout=5s;}server {listen     80;proxy_pass rancher_servers_http;}upstream rancher_servers_https {least_conn;server ip1:443 max_fails=3 fail_timeout=5s;server ip2:443 max_fails=3 fail_timeout=5s;server ip3:443 max_fails=3 fail_timeout=5s;}server {listen     443;proxy_pass rancher_servers_https;}
}

keepalived

双节点

wget -O /etc/yum.repos.d/epel.repo https://mirrors.aliyun.com/repo/epel-7.repo
yum install -y heartbeatsystemctl enable keepalived

主节点

cat /etc/keepalived/keepalived.conf#Master
! Configuration File for keepalived
global_defs {notification_email {root@localhost}notification_email_from keepalived@localhost
smtp_server 127.0.0.1
smtp_connect_timeout 30
router_id DRBD_HA_MASTER
}vrrp_script chk_nfs {script "/etc/keepalived/check_nginx.sh"interval 5}vrrp_instance VI_1 {state MASTERinterface enp0s3virtual_router_id 101priority 100advert_int 1authentication {auth_type PASSauth_pass 1111}track_script {chk_nfs}notify_master /etc/keepalived/notify_master.shnotify_stop /etc/keepalived/notify_stop.shvirtual_ipaddress {192.168.101.200/24}
}#检测:
chmod 744 /etc/keepalived/*.shcat /etc/keepalived/check_nginx.sh#!/bin/bash
# /usr/bin/systemctl status nfs &>/dev/null
a= `ps -C nginx --no-heading | wc -l`if [ $a -eq "0" ];thennginx -c /usr/local/nginx/conf/nginx.confsleep 3b= `ps -C nginx --no-heading | wc -l`if [ $b -eq "0" ];thensystemctl stop keepalivedfi
fi# if [ $? -ne 0 ];then  
#    /usr/bin/systemctl restart nfs
#    sleep 3
#    /usr/bin/systemctl status nfs &>/dev/null
#    if [ $? -ne 0 ];then    
#        umount /dev/drbd0
#        drbdadm secondary r0
#        systemctl stop keepalived
#    fi
# ficat /etc/keepalived/notify_master.sh
#!/bin/sh
nginx -c /usr/local/nginx/conf/nginx.confcat /etc/keepalived/notify_stop.sh 
#!/bin/sh
systemctl stop keepalived

备节点

cat /etc/keepalived/keepalived.conf#slave
! Configuration File for keepalived
global_defs {notification_email {root@localhost}notification_email_from keepalived@localhost
smtp_server 127.0.0.1
smtp_connect_timeout 30
router_id DRBD_HA_BACKUP
}vrrp_instance VI_1 {state BACKUPinterface enp0s3virtual_router_id 101priority 90advert_int 1authentication {auth_type PASSauth_pass 1111}notify_master /etc/keepalived/notify_master.shnotify_backup /etc/keepalived/notify_backup.shvirtual_ipaddress {192.168.101.200/24}
}#检测:
chmod 744 /etc/keepalived/*.shcat /etc/keepalived/check_nginx.sh
#!/bin/bash
a= `ps -C nginx --no-heading | wc -l`if [ $a -eq "0" ];thennginx -c /usr/local/nginx/conf/nginx.confsleep 3b= `ps -C nginx --no-heading | wc -l`if [ $b -eq "0" ];thensystemctl stop keepalivedfi
ficat /etc/keepalived/notify_master.sh
#!/bin/sh
nginx -c /usr/local/nginx/conf/nginx.confcat /etc/keepalived/notify_backup.sh 
#!/bin/sh
systemctl stop keepalived

相关文章:

keepalived的vip实现nginx节点的主备

nginx wget http://nginx.org/download/nginx-1.18.0.tar.gz tar zxvf nginx-1.18.0.tar.gzyum install -y gcc gcc-c pcre pcre-devel zlib zlib-devel openssl openssl-devel libnl3-develcd nginx-1.18.0 mkdir -p /usr/local/nginx #需要使用https,在编译时启用…...

C++之std::atomic解决多线程7个问题(二百四)

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 人生格言: 人生…...

tailwindcss 如何在 uniapp 中使用

直接使用https://tailwindcss.com/docs/guides/vite这篇官方教程的写法是跑不通的,摸索以后整理了一下,最关键的是第6步 npm install -D tailwindcss postcss autoprefixernpx tailwindcss init -p在 tailwind.config.js 中写入 export default {conten…...

oracle-使用PLSQL工具自行修改用户密码

1、使用PLSQL工具,输入用户名和原密码登录,如下图 2、登录后,在会话下拉菜单中找到”Change password..” 3、在跳出的窗口中配置新密码,修改完成后单击”确认”,后退出PLSQL 4、重新打开PLSQL,使用新密码登…...

自动驾驶技术:现状与未来

自动驾驶技术:现状与未来 文章目录 引言自动驾驶技术的现状自动驾驶技术的挑战自动驾驶技术的未来结论结论 2023星火培训【专项营】Apollo开发者社区布道师倾力打造,包含PnC、新感知等的全新专项课程上线了。理论与实践相结合,全新的PnC培训不…...

C++ 类构造函数 析构函数

类的构造函数 类的构造函数是类的一种特殊的成员函数,它会在每次创建类的新对象时执行。 构造函数的名称与类的名称是完全相同的,并且不会返回任何类型,也不会返回 void。构造函数可用于为某些成员变量设置初始值。 下面的实例有助于更好地…...

C++标准模板(STL)- 输入/输出操纵符-(std::get_time,std::put_time)

操纵符是令代码能以 operator<< 或 operator>> 控制输入/输出流的帮助函数。 不以参数调用的操纵符&#xff08;例如 std::cout << std::boolalpha; 或 std::cin >> std::hex; &#xff09;实现为接受到流的引用为其唯一参数的函数。 basic_ostream::…...

蓝桥等考Python组别九级004

第一部分:选择题 1、Python L9 (15分) 运行下面程序,可以输出几行“*”?( ) for i in range(3): for j in range(4): print(*, end = ) print() 2345正确答案:B 2、Python L9...

gitee 远程仓库操作基础(二)

(1&#xff09;clone远端仓库,本地建立分支推送 (基于远程仓库版本库 本地建立分支开发新功能) git clone gitgitee.com:xxxxx/alsa_test.git git remote add origin gitgitee.com:xxxxx/alsa_test.git进入clone过后路径代码,查看本地分支,发现该项目远程仓库有很多分支 基于…...

Scala第四章节

Scala第四章节 scala总目录 章节目标 掌握分支结构的格式和用法掌握for循环和while循环的格式和用法掌握控制跳转语句的用法掌握循环案例理解do.while循环的格式和用法 1. 流程控制结构 1.1 概述 在实际开发中, 我们要编写成千上万行代码, 代码的顺序不同, 执行结果肯定也…...

【C++入门指南】类和对象(上)

【C杂货店】类和对象&#xff08;上&#xff09; 一、面向过程和面向对象初步认识二、类的引入三、类的定义四、类的访问限定符及封装4.1 访问限定符4.2 封装 五、类的作用域六、类的实例化七、类对象模型7.1 类对象的存储规则7.2 例题7.3结构体内存对齐规则 八、this指针8.2 t…...

web:[极客大挑战 2019]PHP

题目 点进页面显示如下 根据页面提示&#xff0c;这个网站有备份文件&#xff0c;备份文件一般是bak文件格式&#xff0c;用dirsearch扫描 访问之后下载了一个文件 里面都是一些代码 在index.php中发现了一个类的文件&#xff0c;一个get传参&#xff0c;然后将传进的值进行反序…...

Firefox 开发团队对 Vue 3 进行优化效果显著

Mozilla 官方博客近日发表文章《Faster Vue.js Execution in Firefox》&#xff0c;介绍了 Firefox 开发团队对 Vue 3 进行的优化。 文章写道&#xff0c;在使用 Speedometer 3 对 Firefox 进行基准测试时&#xff0c;他们发现 Vue.js test 的测试结果从 Vue 2 升级到 Vue 3 后…...

【Verilog 教程】6.5 Verilog避免Latch

关键词&#xff1a;触发器&#xff0c;锁存器 Latch 的含义 锁存器&#xff08;Latch&#xff09;&#xff0c;是电平触发的存储单元&#xff0c;数据存储的动作取决于输入时钟&#xff08;或者使能&#xff09;信号的电平值。仅当锁存器处于使能状态时&#xff0c;输出才会随着…...

怒刷LeetCode的第21天(Java版)

目录 第一题 题目来源 题目内容 解决方法 方法一&#xff1a;哈希表 方法二&#xff1a;计数器数组 第二题 题目来源 题目内容 解决方法 方法一&#xff1a;分治法 方法二&#xff1a;快速幂 迭代 方法三&#xff1a;快速幂 递归 第三题 题目来源 题目内容 …...

Armv9 Cortex-A720的L2 memory system 和 L2 Cache

9 L2 memory system Cortex-A720核心的L2内存系统通过CPU bridge连接core与DynamIQ Shared Unit-120,其中包括私有的L2缓存。 L2缓存是统一的,每个Cortex-A720核心在一个集群中都有私有的L2缓存。 L2内存系统包括使用虚拟地址(VA)和程序计数器(PC)的数据预取引擎。不同…...

蓝桥等考Python组别九级003

第一部分:选择题 1、Python L9 (15分) 运行下面程序,可以输出几行“*”?( ) for i in range(3): for j in range(4): print(*, end = ) print() 6374正确答案:B 2、Python L9...

Python异步框架大战:FastAPI、Sanic、Tornado VS Go 的 Gin

一、前言 异步编程在构建高性能 Web 应用中起着关键作用&#xff0c;而 FastAPI、Sanic、Tornado 都声称具有卓越的性能。本文将通过性能压测对这些框架与Go的Gin框架进行全面对比&#xff0c;揭示它们之间的差异。 原文&#xff1a;Python异步框架大战&#xff1a;FastAPI、Sa…...

Docker笔记1

一、Docker介绍 Docker是一个开源的应用容器引擎&#xff0c;基于Go语言并遵从Apache2.0协议开源 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中&#xff0c;然后发布到任何流行的Linux机器上&#xff0c;也可以实现虚拟化。 容器是完全使用沙箱机制&a…...

TensorFlow-Federated简介与安装

1、简介 TensorFlow Federated&#xff08;TFF&#xff09;是一个用于机器学习和其他分布式数据计算的开源框架。TFF 的开发旨在促进联邦学习 &#xff08;FL&#xff09;的开放研究和实验。联邦学习是一种机器学习方法&#xff0c;其中一个共享的全局模型在许多参与的客户之间…...

【强化学习】基础概念

1. Agent (智能体) 智能体是进行决策和学习的实体&#xff0c;它能感知环境的状态&#xff0c;并基于策略采取动作以影响环境。智能体的目标是通过与环境的交互获得最大化的累积奖励。 2. Environment (环境) 环境是智能体所处的外部系统&#xff0c;它与智能体交互。环境的…...

云原生Kubernetes:K8S集群各组件服务重启

目录 一、理论 1.各组件服务重启命令 一、理论 1.各组件服务重启命令 &#xff08;1&#xff09;Master节点Node节点共同服务 systemctl restart etcd systemctl daemon-reload systemctl enable flanneld systemctl restart flanneld &#xff08;2&#xff09;Master节…...

闲话Python编程-循环

1. for循环 Python的for语句有点特别&#xff0c;只能对序列和字符串进行处理&#xff0c;序列自然包括list、tuple和range对象。 #!/usr/bin/env python3 # -*- coding: utf-8 -*- # 练习for语句def loop_for():names [Tom, Jack, Black]for name in names:print(name)s ab…...

建筑能源管理(3)——建筑能源监管

为了全面落实科学发展观&#xff0c;提高建筑能源管理水平&#xff0c;进一步降低能源和水资源消耗、合理利用资源&#xff0c;以政府办公建筑和大型公共建筑的运行节能管理为突破口&#xff0c;建立了既有政府办公建筑和大型公共建筑运行节能监管体系&#xff0c;旨在提高政府…...

中国逐年干燥度指数数据集

简介&#xff1a; 中国逐年干燥度指数&#xff0c;空间分辨率为1km&#xff0c;时间为1901-2022&#xff0c;为比值&#xff0c;没有单位。该数据集是基于中国1km逐月潜在蒸散发&#xff08;PET&#xff09;和降水量&#xff08;PRE&#xff09;采用比值法计算式得到&#xff…...

Azure Arc 概要:功能、管理和应用场景详解,AZ900 考点示例

文章目录 本文大纲一、什么是 Azure Arc二、使用 Azure Arc 可以做什么操作三、使用 Azure Arc 可以管理什么资源3.1 如何使用Azure Arc与服务器? 四、Azure Arc 支持的主要场景五、在 AZ900 中的考点示例5.1 示例题 15.2 示例题 2 本文大纲 本文思维导图概述的主要内容&…...

JavaScript Web APIs第一天笔记

复习&#xff1a; splice() 方法用于添加或删除数组中的元素。 **注意&#xff1a;**这种方法会改变原始数组。 删除数组&#xff1a; splice(起始位置&#xff0c; 删除的个数) 比如&#xff1a;1 let arr [red, green, blue] arr.splice(1,1) // 删除green元素 consol…...

十六.镜头知识之工业镜头的质量判断因素

十六.镜头知识之工业镜头的质量判断因素 文章目录 十六.镜头知识之工业镜头的质量判断因素1.分辨率(Resolution)2.明锐度(Acutance)3.景深(DOF)&#xff1a;4. 最大相对孔径与光圈系数5.工业镜头各参数间的相互影响关系5.1.焦距大小的影响情况5.2.光圈大小的影响情况5.3.像场中…...

网络协议--概述

1.2 分层 网络协议通常分不同层次进行开发&#xff0c;每一层分别负责不同的通信功能。一个协议族&#xff0c;比如TCP/IP&#xff0c;是一组不同层次上的多个协议的组合。 TCP/IP通常被认为是一个四层协议系统&#xff0c;如图1-1所示。每一层负责不同的功能&#xff1a; 1.链…...

aarch64 平台 musl gcc 工具链手动编译方法

目标 手动编译一个 aarch64 平台的 musl gcc 工具链 musl libc 与 glibc、uclibc 等,都是 标准C 库, musl libc 是基于系统调用之上的 标准C 库,也就是用户态的 标准C 库。 musl libc 轻量、开源、免费,是一些 操作系统的选择,当前 Lite-OS 与 RT-Smart 等均采用自制的 mu…...

做网站好多钱/百度一下官网首页登录

通过这个网站上传excel:http://www.docpe.com/excel/excel-to-html.aspx 然后转换,将压缩包打开,实际就是一个html. 找到table标签的开始和结束,直接将这一大段考到md文件里面即可… 有一点很坑爹,就是如果你一行都是英文,好比包名,markdown不会将其压缩,导致包名就很长一行,其…...

删除wordpress版权信息/免费b2b网站推广

0. 前言本文介绍了使用Kettle对一张业务表数据(500万条数据以上)进行实时(10秒)同步&#xff0c;采用了时间戳增量回滚同步的方法。关于ETL和Kettle的入门知识大家可以阅读相关的blog和文档学习。1. 时间戳增量回滚同步假定在源数据表中有一个字段会记录数据的新增或修改时间&a…...

深圳专业制作网站的公司哪家好/网站运营课程

原文&#xff1a;Best Practices for Speeding Up Your Web Site 26 开发灵巧的事件处理程序 Develop Smart Event Handlers tag&#xff1a;javascript 如果有太多的事件处理逻辑部署在DOM树的不同元素上&#xff0c;它们的频繁执行会拖慢页面的响应速度。而使用事件委托是一…...

致设计网站官网/seo网络推广有哪些

关注云报洞察深一度算力作为信息社会和数字经济高速发展的“燃料”&#xff0c;已然成为全球各国数字化经济的竞争主场。据IDC《2021全球计算力指数评估报告》显示&#xff0c;中国计算力指数排名TOP2&#xff0c;领跑全球&#xff0c;背后原因离不开国家和各行业、企业不遗余力…...

绍兴网站建设报价/seo行业

题面&#xff1a;https://www.lydsy.com/JudgeOnline/problem.php?id5457 题解&#xff1a; 线段树合并&#xff0c;对于每个节点维护sum&#xff08;以该节点为根的子树中最大的种类和&#xff09;和kind&#xff08;以该节点为根的子树中种类和最大的种类&#xff09;即可。…...

展示型网站设计/游戏推广引流

大家都知道的是算法面试占比高&#xff0c;可现在系统设计面试也避无可避&#xff01; 有人问&#xff1a;不是SDE2才问系统设计&#xff0c;SDE1只考察OOD吗&#xff1f; 往年也许如此&#xff0c;但今年面试的小伙伴反馈&#xff1a;亚麻分别在三、四轮里出现OOD和系统设计…...