Nginx高可用集群搭建与优化实践
1. 为什么需要Nginx高可用集群现代Web服务对可用性的要求已经达到99.99%甚至更高。单节点Nginx服务存在单点故障风险一旦服务器宕机或网络中断整个服务就会不可用。去年某电商平台因负载均衡器故障导致2小时服务中断直接损失超过300万元——这就是我们需要构建高可用集群的现实意义。高可用集群通过多节点冗余部署配合健康检查和故障自动转移可以实现服务不间断单个节点故障时自动切换到备用节点负载均衡将流量合理分配到多个服务器平滑升级逐个节点更新不影响整体服务2. 集群架构设计要点2.1 典型双节点主备架构[客户端] | [VIP: 192.168.1.100] ├── [Nginx主节点: 192.168.1.101] └── [Nginx备节点: 192.168.1.102] | [后端应用服务器集群]关键组件VIP虚拟IP客户端统一访问的入口IPKeepalived实现VIP漂移和健康检查Nginx实际处理请求的负载均衡器2.2 多节点负载均衡架构对于超高流量场景可以采用多活架构[客户端] | [L4负载均衡器] ├── [Nginx节点1] ├── [Nginx节点2] └── [Nginx节点3] | [应用服务器集群]这种架构下每个Nginx节点都是平等的通过DNS轮询或硬件负载均衡器分发流量。3. 详细搭建步骤3.1 基础环境准备在两台服务器上安装Nginx和Keepalived# Ubuntu/Debian sudo apt update sudo apt install -y nginx keepalived # CentOS/RHEL sudo yum install -y epel-release sudo yum install -y nginx keepalived注意确保两台服务器的时间同步使用ntp或chrony时间不同步会导致集群异常。3.2 Keepalived配置主节点配置/etc/keepalived/keepalived.confvrrp_instance VI_1 { state MASTER interface eth0 virtual_router_id 51 priority 100 # 备用节点设为90 advert_int 1 authentication { auth_type PASS auth_pass 1111 } virtual_ipaddress { 192.168.1.100/24 } track_script { chk_nginx } } vrrp_script chk_nginx { script /usr/bin/killall -0 nginx interval 2 weight -20 }备节点配置只需修改state BACKUPpriority 903.3 Nginx负载均衡配置统一的Nginx配置/etc/nginx/nginx.confupstream backend { server 10.0.0.1:8080; server 10.0.0.2:8080; keepalive 32; } server { listen 80; location / { proxy_pass http://backend; proxy_http_version 1.1; proxy_set_header Connection ; } }3.4 启动与验证sudo systemctl enable --now nginx keepalived验证VIP漂移在主节点执行ip a查看VIP绑定停止主节点Nginxsystemctl stop nginx10秒内VIP应自动迁移到备节点4. 高级配置与优化4.1 健康检查增强默认的进程检查不够全面建议使用主动健康检查upstream backend { server 10.0.0.1:8080 max_fails3 fail_timeout30s; server 10.0.0.2:8080 max_fails3 fail_timeout30s; check interval3000 rise2 fall3 timeout1000 typehttp; check_http_send HEAD /health HTTP/1.0\r\n\r\n; check_http_expect_alive http_2xx http_3xx; }需要安装nginx_upstream_check_module模块。4.2 会话保持配置对于需要会话保持的应用upstream backend { ip_hash; server 10.0.0.1:8080; server 10.0.0.2:8080; }或者使用cookieupstream backend { server 10.0.0.1:8080; server 10.0.0.2:8080; sticky cookie srv_id expires1h domain.example.com path/; }5. 常见问题排查5.1 VIP不漂移检查步骤确认keepalived进程运行ps aux | grep keepalived检查日志journalctl -u keepalived -f验证防火墙是否放行VRRP协议IP协议号1125.2 脑裂问题现象两台服务器同时持有VIP 解决方法检查网络连通性确保心跳线正常调整advert_int和priority参数配置多播检测如果网络支持5.3 性能调优关键参数调整worker_processes auto; worker_rlimit_nofile 100000; events { worker_connections 4096; multi_accept on; use epoll; } http { sendfile on; tcp_nopush on; tcp_nodelay on; keepalive_timeout 65; keepalive_requests 10000; }6. 生产环境建议监控指标Nginxactive connections, request rate, upstream响应时间系统CPU、内存、网络带宽KeepalivedVIP状态变化次数安全加固server { listen 80 default_server; return 444; }禁止未绑定域名的访问日志分析log_format main $remote_addr - $remote_user [$time_local] $request $status $body_bytes_sent $http_referer $http_user_agent upstream:$upstream_addr $upstream_response_time;灰度发布方案split_clients ${remote_addr}${http_user_agent} $variant { 50% backend_v1; 50% backend_v2; }在实际运维中我们遇到过VIP漂移延迟的问题最终发现是服务器ARP缓存设置不当导致。解决方法是在keepalived配置中添加vrrp_garp_master_refresh 60 vrrp_garp_master_repeat 2这个配置可以确保VIP切换后立即发送GARP包更新网络设备缓存。

相关新闻

高湿环境下床垫防潮性能的三维评估方法

高湿环境下床垫防潮性能的三维评估方法

当用户检索"海口防潮床垫"这类高意图查询时,其需求本质可拆解为两个工程问题:床垫在长期高湿环境中如何维持干燥,以及干燥之外的结构支撑是否达标。针对该场景,从面料、结构、支撑三个维度建立评估方法。 维度一&#x…

2026/10/9 19:11:04 阅读更多 →
”IRF3/STAT1/XBP1/IL10/TMEM173/NFkB/SOCS3/IP10八因子Panel——抗病毒免疫与炎症信号研究的全“通路示踪器”

”IRF3/STAT1/XBP1/IL10/TMEM173/NFkB/SOCS3/IP10八因子Panel——抗病毒免疫与炎症信号研究的全“通路示踪器”

云克隆Luminex液相悬浮芯片技术实现固有免疫信号通路关键节点蛋白的同步定量,从上游感应到下游输出一管血全链条解析固有免疫信号通路不是一条直线,而是一张纵横交错的网络。IRF3、STAT1、NFκB是三条核心信号轴——分别主导I型干扰素应答、IFNg信号传导…

2026/10/11 10:03:14 阅读更多 →
毕业之家 使用体验与推荐

毕业之家 使用体验与推荐

写作思路 聚焦场景:以“开题报告”为核心,不泛泛谈论文全流程,因为毕业之家的产品优势集中在真实文献、专业生成、格式模板和开题报告。建立对比维度:从文献真实性、专业深度、AI痕迹、格式模板、学科适配、改稿体验、适合人群七个…

2026/10/12 3:21:52 阅读更多 →

最新新闻

具身智能中的无线技术——无线线束1

具身智能中的无线技术——无线线束1

无线线束是具身智能领域的颠覆性技术&#xff0c;通过用无线电波替代机器人内部的信号线&#xff0c;解决线缆易断、重量大、灵活性受限等问题。其核心在于实现低时延&#xff08;<20μs&#xff09;、高可靠性、抗干扰的无线通信&#xff0c;已在灵巧手、触觉皮肤和电池管理…

2026/10/12 3:21:58 阅读更多 →
Kun 轨迹视图对齐 DeepSeek Harness:Schema v2 投影、密集台账与悬浮 Composer 的实现拆解

Kun 轨迹视图对齐 DeepSeek Harness:Schema v2 投影、密集台账与悬浮 Composer 的实现拆解

人工智能AI Agent自主智能体桌面应用MCP Clients 【免费下载链接】Kun Local-first AI agent workspace for coding, writing, design, research, and automation — one runtime for desktop GUI and TUI. 项目地址&#xff1a; https://gitcode.com/gh_mirrors/de/Kun 点击查…

2026/10/12 3:21:58 阅读更多 →
纯Java打造企业级Agent Harness:工具治理与上下文管理的工程实践

纯Java打造企业级Agent Harness:工具治理与上下文管理的工程实践

面对群里几乎一边倒的“Agent 项目不选 Python 等于自找麻烦”的声音&#xff0c;我们组还是在一个面向多家企业客户的系统改造项目里&#xff0c;用纯 Java 搭了一个企业级 Agent Harness 平台&#xff0c;代号 BizBuddy。这篇文章想把立项时算的账、Harness 与 Agent 的边界划…

2026/10/12 3:21:58 阅读更多 →
Simple Live:一个入口看虎牙、斗鱼、Bilibili、抖音的开源直播聚合应用

Simple Live:一个入口看虎牙、斗鱼、Bilibili、抖音的开源直播聚合应用

Simple Live&#xff1a;一个入口看虎牙、斗鱼、Bilibili、抖音的开源直播聚合应用 【免费下载链接】dart_simple_live 简简单单的看直播 项目地址: https://gitcode.com/GitHub_Trending/da/dart_simple_live 你追的主播&#xff0c;上午在 B 站开播、晚上去虎牙&#…

2026/10/12 3:21:58 阅读更多 →
Agent OS Discover Standards 实战指南:把代码库隐性知识沉淀为可检索的工程规范

Agent OS Discover Standards 实战指南:把代码库隐性知识沉淀为可检索的工程规范

AI AgentAgent 工作流开发工具 【免费下载链接】agent-os Agent OS is a system for injecting your codebase standards and writing better specs for spec-driven development. 项目地址&#xff1a; https://gitcode.com/gh_mirrors/agen/agent-os 点击查看 免费下载 Agen…

2026/10/12 3:21:58 阅读更多 →
Apache Beam 依赖管理实践指南:从依赖冲突到升级政策的完整解读

Apache Beam 依赖管理实践指南:从依赖冲突到升级政策的完整解读

批处理流处理大数据 【免费下载链接】beam Apache Beam is a unified programming model for Batch and Streaming data processing. 项目地址&#xff1a; https://gitcode.com/gh_mirrors/beam15/beam 点击查看 免费下载 导读 本文以 Apache Beam 官方《Dependencies Guide…

2026/10/12 3:20:57 阅读更多 →

日新闻

复古胶片颗粒感噪点合成器:Canvas ImageData 像素高斯杂色注入算法

复古胶片颗粒感噪点合成器:Canvas ImageData 像素高斯杂色注入算法

在数码相机、高清显示屏与现代矢量图形技术高度发达的今天&#xff0c;画面可以做到绝对的锐利、平滑与无瑕。然而&#xff0c;当一张秋日手账插画或拍立得照片过于“平整无瑕”时&#xff0c;往往会散发出一种冰冷生硬的“数码塑料感&#xff08;Digital Plasticity&#xff0…

2026/10/12 0:00:59 阅读更多 →
活字印刷古籍线装排版:Canvas 竖排文字与栏线自适应算法

活字印刷古籍线装排版:Canvas 竖排文字与栏线自适应算法

在现代网页与移动端设计中&#xff0c;横排&#xff08;Horizontal Layout&#xff09;早已经成为了绝对的主流。然而&#xff0c;当我们翻开泛黄的线装古籍、宋版木刻诗集&#xff0c;或是欣赏一张茶道雅集的手写便签时&#xff0c;那种**自上而下纵向书写、自右向左逐列铺展&…

2026/10/12 0:00:59 阅读更多 →
周日晚间的“精神松绑减震器”:无压力情绪倾倒箱与温和轻声陪伴

周日晚间的“精神松绑减震器”:无压力情绪倾倒箱与温和轻声陪伴

每到周日的晚上八点到十点&#xff0c;很多人心里都会悄悄亮起一盏警示灯。 在心理学上&#xff0c;这种现象有一个专门的称谓——“周日夜晚焦虑症&#xff08;Sunday Scaries&#xff09;”。明天又是周一&#xff0c;闹钟又要重新在七点响彻卧房&#xff1b;脑海里仿佛有一个…

2026/10/12 0:00:59 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介&#xff1a;基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码&#xff0c;面向计算机相关专业课程设计与期末大作业学生&#xff0c;以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程&#xff0c;…

2026/10/12 0:16:30 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程&#xff1a;键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化&#xff0c;十个新手有八个栽在"往输入框里填东西"这件事上&#xff1a;要么填不进去&#xff0c;要么填了一半&#xff0c;要么直接把原来内容追加在后面。这背后的根因&…

2026/10/12 0:16:38 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程&#xff1a;阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀&#xff1a;什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面&#xff0c;跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/12 0:16:43 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/11 10:45:37 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/11 14:36:53 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/11 14:36:54 阅读更多 →