ubuntu22 搭建nginx高可用集群(VIP(keepalived) + 负载均衡)
#在所有节点安装nginx
#ps: 如果要使用tcp流转发:需用二进制包安装 make编译时加入stream流的参数。 推荐直接安装openresty【默认支持stream等nginx模块,还附带了很多常用的lua库】
apt install -y net-tools
sudo apt install -y nginx
vim /etc/nginx/conf.d/nginx.conf
upstream balanceServer {# 服务器的访问地址,负载均衡算法使用权重轮询。应用服务器是自己的应用服务主机的地址,最好和负载均衡服务分开部署。server 10.3.1.135:8080 weight=1;
}
#负载均衡服务
server {# 负载均衡的监听端口listen 80 default_server;server_name _;location / {proxy_pass http://balanceServer; # 代理转发应用服务client_max_body_size 500m;}location /prod-api/ {proxy_pass http://balanceServer; # 代理转发应用服务proxy_cookie_path / /prod-api;rewrite ^/prod-api/(.*) /$1 break;client_max_body_size 500m;}}
#nginx服务默认占用80 修改默认端口为81
vim /etc/nginx/sites-enabled/default
listen 81 default_server;
listen [::]:81 default_server;
nginx -s reload #systemctl restart nginx
systemctl enable nginx
#在所有节点安装keepalived 并修改配置文件(不同节点参数需修改)
apt install -y keepalived
vim /etc/keepalived/keepalived.conf
global_defs { # 路由id: 当前安装的keepalived节点主机的标识符,全局唯一。 # 不同节点需修改 用本机ip即可router_id 10.3.1.96
}
vrrp_script chk_nginx {script "/etc/keepalived/nginx_chk.sh" interval 2
}
vrrp_instance VI_1{# 表示的状态,MASTER 主节点 BACKUP 备机# 一个设为MASTER 其他的设为BACKUPstate MASTER# 当前实例绑定的网卡 根据主机网卡自行修改interface ens160# 表示那些服务器一个组,保证主备节点一致virtual_router_id 100# 优先级/权重,谁的优先级高,在MASTER关掉以后,就能成为MASTERpriority 100# 主备之间同步检查的时间间隔,默认1sadvert_int 1# 认知授权的密码,防止非法节点的进入authentication {auth_type PASSauth_pass 1369}# 虚拟ip 要和服务器在同一个网段, 能和服务器网关进行通信的, 而且是没有被占用的virtual_ipaddress {10.3.1.150}track_script { chk_nginx}
}
vim /etc/keepalived/nginx_chk.sh #配置脚本检查nginx是否还在正常运行,如果挂掉就重启它,实在启动不了再让keepalived绑定备用机器
#!/bin/bash
A=`ps -C nginx --no-header |wc -l`
# 判断nginx是否宕机,如果宕机了,尝试重启
if [ $A -eq 0 ];then# 重启nginx,延迟2秒 service nginx restartsleep 2 # 重新检查是否有nginx相关的进程if [ $A -eq 0 ];then # 仍然没有nginx相关的进程,杀死当前keepalived,切换到备用机killall keepalived fi
fi
sudo chmod +x /etc/keepalived/nginx_chk.sh
bash /etc/keepalived/nginx_chk.sh #检查脚本,不报错即可‘
systemctl start keepalived
ip addr #查看ens160网卡出现 10.3.1.150虚拟ip即可。 然后可以通过虚拟ip访问对应的nginx转发
systemctl enable keepalived
#关掉MASTER的keepalived后,虚拟ip就飘移到BACKUP节点上了 可以用ip addr查看一下
相关文章:
ubuntu22 搭建nginx高可用集群(VIP(keepalived) + 负载均衡)
#在所有节点安装nginx #ps: 如果要使用tcp流转发:需用二进制包安装 make编译时加入stream流的参数。 推荐直接安装openresty【默认支持stream等nginx模块,还附带了很多常用的lua库】 apt install -y net-tools sudo apt install -y nginx vim /etc/…...
QT 编译Lua 动态库,使用Lua脚本混合编程
一,编译Lua动态库 1,下载lua源码 地址:Lua: downloadhttps://www.lua.org/download.html 2,配置 解压lua源码压缩包,里面有个src文件夹,里面的代码就是lua的源码...
关于不均衡数据的探究
1、不均衡数据指什么 不均衡数据是指在一个数据集中,某些类别(或标签)的样本数量明显少于其他类别的样本数量,也就是说不同类别的样本分布不均匀。这样的数据集在分类问题中非常常见。 2、不均衡数据的特征 类别比例失衡…...
LwIP 之十 详解 TCP RAW 编程、示例、API 源码、数据流
我们最为熟知的网络通信程序接口应该是 Socket。LwIP 自然也提供了 Socket 编程接口,不过,LwIP 的 Socket 编程接口都是使用最底层的接口来实现的。我们这里要学习的 TCP RAW 编程则是指的直接使用 LwIP 的最底层 TCP 接口来直接实现应用层功能。这里先来一张图,对 LwIP 内部…...
【京东评论】数据源——Python提升获取效率▼
这不是我的第一个爬虫,但大多数都是像这样简单粗暴的,因为一开始对于定义函数,然后再相应 相应的操作,是比较困难的,这能直接写for循环语句。 首先,我们要明确我们的目标:从京东上爬取产品的评…...
Java大厂面试题第2季
一、本课程前提要求和说明 面试题1: 面试题2: 面试题3: 面试题4: 面试题5: 高频最多的常见笔试面试题目 ArrayList HashMap 底层是什么东东 JVM/GC 多线程与高并发 java集合类...
探索无限可能性——微软 Visio 2021 改变您的思维方式
在当今信息化时代,信息流动和数据处理已经成为各行各业的关键。微软 Visio 2021 作为领先的流程图和图表软件,帮助用户以直观、动态的方式呈现信息和数据,从而提高工作效率,优化业务流程。本文将介绍 Visio 2021 的特色功能及其在…...
Linux CFS调度器之周期性调度器scheduler_tick函数
文章目录 前言一、简介二、源码分析2.1 scheduler_tick2.2 task_tick2.3 entity_tick2.4 check_preempt_tick2.5 resched_curr 参考资料 前言 Linux内核调度器主要是主调度器和周期性调度器,主调度器请参考:Linux 进程调度之schdule主调度器 一、简介 …...
git生成密钥(免密)
生成SSH密钥对的方法如下: 打开Git Bash。 输入以下命令生成新的SSH密钥对: ssh-keygen -t rsa -b 4096 -C "your_emailexample.com" 这里的 -C 参数后面跟的是你的邮箱地址,通常用于标识这个密钥。 当系统提示你“Enter a fil…...
山东大学软件学院2021级编译原理回忆版
一、判断题 1、正则文法可以表示一般的高级程序语言,构成其语法成分和生成句子() 2、NFA的状态和符号有且只有一条边,因此看起来更直观() 3、DFA无法表示这样的语言{anbn,n>1}() …...
为什么都说视频号小店值得做,具体该怎么做?新手必学
大家好,我是电商花花。 所有人都在告诉你2024年应该做视频号小店,但没有人告诉你到底应该怎么做。 今天给大家说一下为什么2024年都推荐大家去做视频号小店,以及分享一些视频号小店的实操干货,可以帮助大家更快更稳的做店。 首先…...
网络安全岗秋招面试题及面试经验分享
Hello,各位小伙伴,我作为一名网络安全工程师曾经在秋招中斩获🔟个offer🌼,并在国内知名互联网公司任职过的职场老油条,希望可以将我的面试的网络安全大厂面试题和好运分享给大家~ 转眼2024年秋招又快到了金…...
如何实现一个AI聊天功能
最近公司的网站上需要对接一个AI聊天功能,领导把这个任务分给了我,从最初的调研,学习,中间也踩过一些坑,碰到过问题,但最后对接成功,还是挺有成就感的,今天把这个历程和项目整理一下…...
实战16:基于apriori关联挖掘FP-growth算法挖掘关联规则的手机销售分析-代码+数据
直接看视频演示: 基于apriori关联挖掘关联规则的手机销售分析与优化策略 直接看结果: 这是数据展示: 挖掘结果展示: 数据分析展示:...
Linux基础指令及其作用之系统信息和管理
系统信息和管理 ps ps 命令用于显示当前系统的进程信息。它是 Unix 和类 Unix 操作系统中的一个重要工具,可以用于监控和管理系统进程。以下是 ps 命令的详细用法和常见选项: ps [选项]常用选项支持的新型开源AI Agent平台,支持多个金融专业AI Agent
财务分析一直是解读市场趋势、预测经济结果和提供投资策略的关键。这一领域传统上依赖数据,但随着时间的推移,越来越多地使用人工智能(AI)和算法方法来处理日益增长的复杂数据。AI在金融领域的作用显著增强,它自动化了…...
【SQL学习进阶】从入门到高级应用(七)
文章目录 ✨数据处理函数✨if函数✨cast函数✨加密函数 ✨分组函数✨max✨min✨avg✨sum✨count✨分组函数组合使用✨分组函数注意事项 ✨分组查询✨group by✨having✨组内排序 ✨总结单表的DQL语句 🌈你好呀!我是 山顶风景独好 💕欢迎来到我…...
20231911 2023-2024-2 《网络攻防实践》实践十一报告
实践内容 (1)web浏览器渗透攻击 任务:使用攻击机和Windows靶机进行浏览器渗透攻击实验,体验网页木马构造及实施浏览器攻击的实际过程。 实验步骤: ①选择使用Metasploit中的MS06-014渗透攻击模块②选择PAYLOAD为任意…...
5G专网驻网失败分析(suci无效)
suci 5G终端第一次驻网时,注册消息Registartion request中携带的5GS mobile identity要携带suci类型的mobile identity。 注册消息协议规范见5G NAS 协议3gpp TS24.501 8.2.6 Registration request。 suci协议规范参见3gpp TS24.501 9.11.3.4 5GS mobile identity …...
【PHP项目实战训练】——laravel框架的实战项目中可以做模板的增删查改功能(1)
👨💻个人主页:开发者-曼亿点 👨💻 hallo 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅! 👨💻 本文由 曼亿点 原创 👨💻 收录于专栏:…...
内存分配函数malloc kmalloc vmalloc
内存分配函数malloc kmalloc vmalloc malloc实现步骤: 1)请求大小调整:首先,malloc 需要调整用户请求的大小,以适应内部数据结构(例如,可能需要存储额外的元数据)。通常,这包括对齐调整,确保分配的内存地址满足特定硬件要求(如对齐到8字节或16字节边界)。 2)空闲…...
【HarmonyOS 5.0】DevEco Testing:鸿蒙应用质量保障的终极武器
——全方位测试解决方案与代码实战 一、工具定位与核心能力 DevEco Testing是HarmonyOS官方推出的一体化测试平台,覆盖应用全生命周期测试需求,主要提供五大核心能力: 测试类型检测目标关键指标功能体验基…...
Swift 协议扩展精进之路:解决 CoreData 托管实体子类的类型不匹配问题(下)
概述 在 Swift 开发语言中,各位秃头小码农们可以充分利用语法本身所带来的便利去劈荆斩棘。我们还可以恣意利用泛型、协议关联类型和协议扩展来进一步简化和优化我们复杂的代码需求。 不过,在涉及到多个子类派生于基类进行多态模拟的场景下,…...
生成 Git SSH 证书
🔑 1. 生成 SSH 密钥对 在终端(Windows 使用 Git Bash,Mac/Linux 使用 Terminal)执行命令: ssh-keygen -t rsa -b 4096 -C "your_emailexample.com" 参数说明: -t rsa&#x…...
IT供电系统绝缘监测及故障定位解决方案
随着新能源的快速发展,光伏电站、储能系统及充电设备已广泛应用于现代能源网络。在光伏领域,IT供电系统凭借其持续供电性好、安全性高等优势成为光伏首选,但在长期运行中,例如老化、潮湿、隐裂、机械损伤等问题会影响光伏板绝缘层…...
OpenLayers 分屏对比(地图联动)
注:当前使用的是 ol 5.3.0 版本,天地图使用的key请到天地图官网申请,并替换为自己的key 地图分屏对比在WebGIS开发中是很常见的功能,和卷帘图层不一样的是,分屏对比是在各个地图中添加相同或者不同的图层进行对比查看。…...
均衡后的SNRSINR
本文主要摘自参考文献中的前两篇,相关文献中经常会出现MIMO检测后的SINR不过一直没有找到相关数学推到过程,其中文献[1]中给出了相关原理在此仅做记录。 1. 系统模型 复信道模型 n t n_t nt 根发送天线, n r n_r nr 根接收天线的 MIMO 系…...
LeetCode - 199. 二叉树的右视图
题目 199. 二叉树的右视图 - 力扣(LeetCode) 思路 右视图是指从树的右侧看,对于每一层,只能看到该层最右边的节点。实现思路是: 使用深度优先搜索(DFS)按照"根-右-左"的顺序遍历树记录每个节点的深度对于…...
回溯算法学习
一、电话号码的字母组合 import java.util.ArrayList; import java.util.List;import javax.management.loading.PrivateClassLoader;public class letterCombinations {private static final String[] KEYPAD {"", //0"", //1"abc", //2"…...
三分算法与DeepSeek辅助证明是单峰函数
前置 单峰函数有唯一的最大值,最大值左侧的数值严格单调递增,最大值右侧的数值严格单调递减。 单谷函数有唯一的最小值,最小值左侧的数值严格单调递减,最小值右侧的数值严格单调递增。 三分的本质 三分和二分一样都是通过不断缩…...
