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

Apache 配置负载均衡详解(含配置示例)

Apache 是互联网上最受欢迎的 Web 服务器之一。除了基本的网页服务,它还能通过模块扩展出丰富的功能。其中一个重要用途就是将 Apache 配置成负载均衡器,用于在多个后端服务器之间分配流量,提升网站的性能和稳定性。Google Gemini中国版调用Google Gemini API,中国大陆优化,完全免费!https://gemini.danielmind.tech/


✅ 什么是负载均衡?

负载均衡是一种将系统或服务器接收到的请求均匀分配到多个节点上的技术。它的目标是:

  • 优化资源使用

  • 最大化吞吐量

  • 减少响应时间

  • 防止任意一个服务器过载

在高流量场景下,比如节假日的电商网站,这种技术尤为关键。

通过负载均衡,系统能把来自客户端的请求智能地分发给最空闲或最健康的服务器节点,从而避免单点故障,提高应用的可用性和稳定性。


🎯 Apache 负载均衡的优势

  • 支持 L4(传输层)和 L7(应用层)负载均衡

  • 提高系统可扩展性

  • 支持会话保持(Session Persistence)

  • 可在单个实例中进行端口到端口的路由

  • 节省带宽资源

  • 提升用户访问体验

  • 快速部署,节省运维时间

  • 支持拒绝异常请求,提高安全性

  • 多服务器容灾能力强


🧰 配置环境说明

在这个配置示例中,我们将使用三台运行 Ubuntu 系统的服务器:

  • web1.example.com:后端服务器1

  • web2.example.com:后端服务器2

  • balancer.example.com:负载均衡器

谷歌 Gemma 3 27b,媲美 o1-preview,超低硬件要求!本地部署教程! - 你,mdjsjd生活 - 分享免费实用软件、有趣网站、各种黑科技!Gemma 3 是目前 Google 最强的开源模型,可以处理文本、图像,甚至是短视频!图表分析此图表按 Chatbot Arena Elo 得分对 AI 模型进行排名。得分越高(数字越大),表...https://life.mdjsjd.me/archives/89.html


🛠️ 步骤 1:更新系统并安装 Apache

在三台服务器上执行以下命令,更新系统并安装 Apache:

apt update -y
apt upgrade -y
apt install apache2 -y
systemctl start apache2
systemctl enable apache2

🖥️ 步骤 2:配置两个后端服务器

✅ 配置 web1(后端服务器1)

创建示例网页:

nano /var/www/html/web1.html

内容如下:

<title>Apache Web Server1</title>
<h2>This is Apache Web Server 1 Page!</h2>

配置虚拟主机:

nano /etc/apache2/sites-enabled/web1.conf
<VirtualHost *:80>ServerName web1.example.comDocumentRoot /var/www/htmlDirectoryIndex web1.html
</VirtualHost>

重启 Apache:

systemctl restart apache2

✅ 配置 web2(后端服务器2)

创建示例网页:

nano /var/www/html/web2.html

内容如下:

<title>Apache Web Server2</title>
<h2>This is Apache Web Server 2 Page!</h2>

配置虚拟主机:

nano /etc/apache2/sites-enabled/web2.conf
<VirtualHost *:80>ServerName web2.example.comDocumentRoot /var/www/htmlDirectoryIndex web2.html
</VirtualHost>

重启 Apache:

systemctl restart apache2

🌐 步骤 3:配置负载均衡服务器

balancer.example.com 上启用相关模块:

a2enmod proxy
a2enmod proxy_http
a2enmod proxy_balancer
a2enmod lbmethod_byrequests
systemctl restart apache2

确认模块是否启用:

apachectl -M | grep proxy

配置负载均衡虚拟主机:

nano /etc/apache2/sites-enabled/loadbalancer.conf

内容如下:

<VirtualHost *:80>ServerName balancer.example.com<Proxy balancer://webserver>BalancerMember http://web1.example.comBalancerMember http://web2.example.comProxySet stickysession=ROUTEID</Proxy>ProxyPreserveHost OnProxyPass / balancer://webserver/ProxyPassReverse / balancer://webserver/
</VirtualHost>

保存后重启 Apache:

systemctl restart apache2

🔍 测试负载均衡效果

打开浏览器访问:

👉 http://balancer.example.com

第一次刷新页面时,应该会看到来自 web1 的页面。再次刷新几次后,应该能看到 web2 的页面,说明请求已在两个服务器之间轮换分发。


📚 补充说明:负载均衡类型

常见的三种负载均衡方式包括:

  1. DNS 轮询:通过 DNS 将请求轮流指向不同服务器

  2. L3/L4 负载均衡:基于 IP 或 TCP 层进行转发

  3. L7 负载均衡:基于应用层协议(如 HTTP)进行智能分发

相关文章:

Apache 配置负载均衡详解(含配置示例)

Apache 是互联网上最受欢迎的 Web 服务器之一。除了基本的网页服务&#xff0c;它还能通过模块扩展出丰富的功能。其中一个重要用途就是将 Apache 配置成负载均衡器&#xff0c;用于在多个后端服务器之间分配流量&#xff0c;提升网站的性能和稳定性。Google Gemini中国版调用G…...

文章记单词 | 第24篇(六级)

一&#xff0c;单词释义 liner&#xff1a;名词&#xff0c;意为 “班轮&#xff1b;邮轮&#xff1b;衬里&#xff1b;画线者”convention&#xff1a;名词&#xff0c;意为 “大会&#xff1b;会议&#xff1b;习俗&#xff1b;惯例&#xff1b;公约&#xff1b;协定”lavat…...

日本汽车规模性经济计划失败,日产三大品牌的合并合作共赢,还是绝地求生?本田与日产合并确认失败,将成为世界第三大汽车集团愿景失败

本田与日产(含三菱汽车)的合并计划最终因核心矛盾无法调和而宣告失败,这一事件揭示了传统车企在行业变革期的深层困境。以下从合并动机、失败原因、本质判断及未来影响等方面综合分析: 一、合并的初衷:生存压力主导的被动策略 市场危机与财务困境 中国市场溃败:日系品牌在…...

人工智能赋能工业制造:智能制造的未来之路

一、引言 随着人工智能技术的飞速发展&#xff0c;其应用场景不断拓展&#xff0c;从消费电子到医疗健康&#xff0c;从金融科技到交通运输&#xff0c;几乎涵盖了所有行业。而工业制造作为国民经济的支柱产业&#xff0c;也在人工智能的浪潮中迎来了深刻的变革。智能制造&…...

支持selenium的chrome driver更新到135.0.7049.42

最近chrome释放新版本&#xff1a;135.0.7049.42 如果运行selenium自动化测试出现以下问题&#xff0c;是需要升级chromedriver才可以解决的。 selenium.common.exceptions.SessionNotCreatedException: Message: session not created: This version of ChromeDriver only su…...

C++/Qt 模拟sensornetwork的工作

C/Qt 可视化模拟sensornetwork的工作 C/Qt 模拟sensornetwork的工作 C/Qt 可视化模拟sensornetwork的工作内容简介&#xff08;一&#xff09; 需求和规格说明&#xff08;1&#xff09;问题描述&#xff08;2&#xff09;设计目的&#xff08;3&#xff09;基本要求&#xff0…...

无状态版的DHCPv6是不是SLAAC? 笔记250405

无状态版的DHCPv6是不是SLAAC? 笔记250405 无状态版 DHCPv6 不是 SLAAC&#xff0c;但二者在 IPv6 网络中可协同工作。以下是核心区别与协作关系&#xff1a; 本质区别 特性SLAAC无状态 DHCPv6主要功能生成 IPv6 地址&#xff08;基于路由器通告的前缀&#xff09;分发 DNS、…...

前端判断值相等的方法和区别

1. (宽松相等) 在比较之前会进行类型转换 可能导致一些意外的结果 0 // true 0 0 // true false 0 // true null undefined // true [1,2,3]1,2,3 // true2. (严格相等) 不进行类型转换 类型和值都必须相同 0 // false 0 0 // false false 0 /…...

AWS全球化低延迟架构实战:助力APP快速上架欧美、加拿大、澳大利亚

作者&#xff1a;AWS解决方案架构师 关键词&#xff1a;AWS全球架构、低延迟优化、多区域部署、Serverless、GDPR合规 一、客户需求分析 客户计划将APP上架至欧美&#xff08;欧盟&#xff09;、加拿大、澳大利亚等地区&#xff0c;并要求&#xff1a; 全球用户低延迟访问&…...

Maven使用

配置 Maven repository 教学视频 windows环境 idea配置 Maven项目结构 src:主项目文件 main:项目文件,其中java存放java文件,resource存放其他文件如图片文件等;test存放测试文件,如果需要也可以自己创建一个resources文件 target:主要存放我运行后的jar包等,以及一些…...

笔试强训题(7)

目录 1. Day371.1 旋转字符串&#xff08;字符串&#xff09;1.2 合并k个已排序的链表&#xff08;链表&#xff09;1.3 滑雪&#xff08;记忆化搜索&#xff09; 2. Day382.1 天使果冻&#xff08;递推 DP&#xff09;2.2 dd爱旋转&#xff08;模拟&#xff09;2.3 小红取数&…...

2023-2024总结记录

概括经历 这一年算是一个人生节点&#xff0c;2023年花了一整年的时间在准备考研&#xff0c;基本上等于一个人奋战&#xff0c;我不怎么去图书馆&#xff0c;只呆在无人的实验室&#xff0c;还好有对象陪我&#xff0c;不然可能要抑郁了。作息上还是很随意&#xff0c;什么时…...

类初始化、类加载、垃圾回收---JVM

创建对象过程 类加载 一个类从被加载到虚拟机内存中开始&#xff0c;到从内存中卸载&#xff0c;整个生命周期需要经过七个阶段&#xff1a;加载 、验证、准备、解析、初始化、使用和卸载。 类加载过程分为三个主要步骤&#xff1a;加载、链接、初始化 加载&#xff1a;通过…...

交换机与ARP

交换机与 ARP&#xff08;Address Resolution Protocol&#xff0c;地址解析协议&#xff09; 的关系主要体现在 局域网&#xff08;LAN&#xff09;内设备通信的地址解析与数据帧转发 过程中。以下是二者的核心关联&#xff1a; 1. 基本角色 交换机&#xff1a;工作在 数据链…...

元宇宙概念下,UI 设计如何打造沉浸式体验?

一、元宇宙时代UI设计的核心趋势 在元宇宙概念下&#xff0c;UI设计的核心目标是打造沉浸式体验&#xff0c;让用户在虚拟世界中感受到身临其境的交互效果。以下是元宇宙时代UI设计的几个核心趋势&#xff1a; 沉浸式体验设计 元宇宙的核心是提供沉浸式体验&#xff0c;UI设计…...

pycharm 有智能提示,但是没法自动导包,也就是alt+enter无效果

找到file->settings->editor->inspections 把python勾选上&#xff0c;原来不能用是因为只勾选了一部分。...

神经网络与深度学习:案例与实践——第三章(3)

神经网络与深度学习&#xff1a;案例与实践——第三章&#xff08;3&#xff09;——基于Softmax回归完成鸢尾花分类任务 实践流程主要包括以下7个步骤&#xff1a;数据处理、模型构建、损失函数定义、优化器构建、模型训练、模型评价和模型预测等&#xff0c; ①数据处理&am…...

LeetCode 249 解法揭秘:如何把“abc”和“bcd”分到一组?

文章目录 摘要描述痛点分析 & 实际应用场景Swift 题解答案可运行 Demo 代码题解代码分析差值是怎么来的&#xff1f;为什么加 26 再 %26&#xff1f; 示例测试及结果时间复杂度分析空间复杂度分析总结 摘要 你有没有遇到过这种情况&#xff1a;有一堆字符串&#xff0c;看…...

【Kafka基础】topic命令行工具kafka-topics.sh:基础操作命令解析

Kafka作为分布式流处理平台的核心组件&#xff0c;其主题管理是每个开发者必须掌握的关键技能。本文将详细解析kafka-topics.sh工具的使用技巧&#xff0c;从基础操作操作开始&#xff0c;助您轻松驾驭Kafka主题管理。 1 创建主题 /export/home/kafka_zk/kafka_2.13-2.7.1/bin/…...

C++ 排序(1)

以下是一些插入排序的代码 1.插入排序 1.直接插入排序 // 升序 // 最坏&#xff1a;O(N^2) 逆序 // 最好&#xff1a;O(N) 顺序有序 void InsertSort(vector<int>& a, int n) {for (int i 1; i < n; i){int end i - 1;int tmp a[i];// 将tmp插入到[0,en…...

Business English Certificates (BEC) 高频词汇学习

Business English Certificates {BEC} 高频词汇 References Cambridge English: Business Certificates, also known as Business English Certificates (BEC), are a suite of three English language qualifications for international business. abandon /əˈbndən/ vt. …...

信息系统项目管理中各个知识领域的概要描述及其管理流程

1. 立项管理 涵义&#xff1a;评估项目可行性&#xff0c;决定是否启动。 流程&#xff1a; 需求分析&#xff1a;识别业务需求或问题。 可行性研究&#xff1a;技术、经济、法律等可行性分析。 项目建议书&#xff1a;提交初步方案。 立项评审&#xff1a;高层审批。 项目…...

OpenAI推出PaperBench

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗&#xff1f;订阅我们的简报&#xff0c;深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同&#xff0c;从行业内部的深度分析和实用指南中受益。不要错过这个机会&#xff0c;成为AI领…...

基于LSTM的文本分类2——文本数据处理

前言 由于计算机无法认识到文字内容&#xff0c;因此在训练模型时需要将文字映射到计算机能够识别的编码内容。 映射的流程如下&#xff1a; 首先将文字内容按照词表映射到成唯一的数字ID。比如“我爱中国”&#xff0c;将“中”映射为1&#xff0c;将“国”映射到2。再将文…...

神经网络与深度学习:案例与实践——第三章(2)

神经网络与深度学习&#xff1a;案例与实践——第三章&#xff08;2&#xff09; 基于Softmax回归的多分类任务 Logistic回归可以有效地解决二分类问题&#xff0c;但在分类任务中&#xff0c;还有一类多分类问题&#xff0c;即类别数 C大于2 的分类问题。Softmax回归就是Log…...

Maven/Gradle的讲解

一、为什么需要构建工具&#xff1f; 在理解 Maven/Gradle 之前&#xff0c;先明确它们解决的问题&#xff1a; ​​依赖管理​​&#xff1a;项目中可能需要引入第三方库&#xff08;如 Spring、JUnit 等&#xff09;&#xff0c;手动下载和管理这些库的版本非常麻烦。​​标…...

常见的HR面问题汇总

⚠️注意&#xff1a;以下仅是个人对问题的参考&#xff0c;具体情况视个人情况而定&#xff5e; 1. 你觉得你有哪些优点和缺点&#xff1f; 优点&#xff1a;学习能力强&#xff0c;遇到问题会主动思考和查找解决方案&#xff1b;有责任心&#xff0c;对待工作认真负责&#…...

把握数据治理关键,释放企业数据潜能

数据治理是对数据资产管理行使权力和控制的活动集合&#xff0c;以下是关于它的详细介绍&#xff1a; 一、定义 数据治理是指从使用零散数据变为使用统一主数据、从具有很少或没有组织和流程治理到企业范围内的综合数据治理、从尝试处理主数据混乱状况到主数据井井有条的一个…...

优化 Web 性能:处理非合成动画(Non-Composited Animations)

在 Web 开发中&#xff0c;动画能够增强用户体验&#xff0c;但低效的动画实现可能导致性能问题。Google 的 Lighthouse 工具在性能审计中特别关注“非合成动画”&#xff08;Non-Composited Animations&#xff09;&#xff0c;指出这些动画可能增加主线程负担&#xff0c;影响…...

房地产之后:探寻可持续扩张的产业与 GDP 新思

在经济发展的长河中,房地产长期占据着支柱产业的重要地位。其之所以能担当此重任,根源在于它深度嵌入了人们的生活与经济体系。住房,作为人类最基本的需求之一,具有不可替代的刚性。与其他现买按需生产的产业不同,房地产有着独特的消费逻辑。人们为了拥有一个稳定的居住之…...

Chapter02_数字图像处理基础

文章目录 图像的表示⭐模拟图像→数字图像均匀采样和量化均匀采样均匀量化 非均匀采样和量化 数字图像的表示二值图像灰度图像彩色图像 ⭐空间分辨率和灰度分辨率空间分辨率灰度分辨率 ⭐图像视觉效果影响因素采样数变化对图像视觉效果的影响空间分辨率变化对图像视觉效果的影响…...

【Android】UI开发:XML布局与Jetpack Compose的全面对比指南

随着Google推出Jetpack Compose这一现代化工具&#xff0c;我们面临一个关键选择&#xff1a;继续使用传统的XML布局&#xff0c;还是转向Compose&#xff1f; 一、语法对比&#xff1a;两种不同的构建方式 1. XML布局&#xff1a;基于标签的静态结构 XML通过嵌套标签定义UI元…...

浙大:LLM具身推理引擎Embodied-Reasoner

&#x1f4d6;标题&#xff1a;Embodied-Reasoner: Synergizing Visual Search, Reasoning, and Action for Embodied Interactive Tasks &#x1f310;来源&#xff1a;arXiv, 2503.21696 &#x1f31f;摘要 &#x1f538;深度思维模型的最新进展已经证明了数学和编码任务的…...

form+ffmpeg+opus录音压缩音频

说明&#xff1a; formffmpegopus录音压缩音频 效果图&#xff1a; step1:opus格式录音 C:\Users\wangrusheng\RiderProjects\WinFormsApp11\WinFormsApp11\Form1.cs using System; using System.Diagnostics; using System.IO; using System.Windows.Forms;namespace WinFo…...

win10 笔记本电脑安装 pytorch+cuda+gpu 大模型开发环境过程记录

win10 笔记本电脑安装 pytorchcudagpu 大模型开发环境过程记录 文章部分内容参考 deepseek。 以下使用命令行工具 mingw64。 安装 Anaconda 安装位置&#xff1a; /c/DEVPACK/Anaconda3 然后安装 Python 3.10.16 &#xff08;略&#xff09; $ conda create -n pytorch_…...

LeetCode 2442:统计反转后的不同整数数量

目录 核心思想&#xff1a;数字的“拆分”与“重组” 分步拆解&#xff08;以输入 123 为例&#xff09; 关键操作详解 为什么能处理中间或末尾的0&#xff1f; 数学本质 总结 题目描述 解题思路 代码实现 代码解析 复杂度分析 示例演示 总结 核心思想&#xff1a;…...

获取inode的完整路径包含挂载的路径

一、背景 在之前的博客 缺页异常导致的iowait打印出相关文件的绝对路径-CSDN博客 里的 2.2.3 一节和 关于inode&#xff0c;dentry结合软链接及硬链接的实验-CSDN博客 里&#xff0c;我们讲到了在内核里通过inode获取inode对应的绝对路径的方法。对于根目录下的文件而言&#…...

解决上传PDF、视频、音频等格式文件到FTP站点时报错“将文件复制到FTP服务器时发生错误。请检查是否有权限将文件放到该服务器上”问题

一、问题描述 可以将文本文件(.txt格式),图像文件(.jpg、.png等格式)上传到我们的FTP服务器上;但是上传一些PDF文件、视频等文件时就会报错“ 将文件复制到FTP服务器时发生错误。请检查是否有权限将文件放到该服务器上。 详细信息: 200 Type set to l. 227 Entering Pas…...

git push

在 git push 命令中&#xff0c;分支名称的顺序和含义非常重要。其基本格式如下&#xff1a; git push <remote> <local_branch>:<remote_branch>各部分解释 <remote>&#xff1a;远程仓库的名称&#xff08;如 origin&#xff09;。<local_branc…...

Java中的四大引用类型详解

Java中的四大引用类型详解&#xff1a;强引用、软引用、弱引用、虚引用 1. 引用类型概览 Java提供了四种不同强度的引用类型&#xff0c;用于控制对象的生命周期和垃圾回收行为&#xff1a; 引用类型回收时机典型应用场景是否影响GC强引用永不回收&#xff08;除非断开引用&…...

MySQL慢查询日志通俗指南

&#x1f340; 前言 如果你发现自己新写或者重写的接口查询速度变慢&#xff0c;你怎么定位原因呢&#xff1f;可以用explain分析我们的SQL原生代码&#xff0c;又或者可以考虑使用MySQL慢查询日志。这篇文章主要讲述什么是慢查询日志以及开发中可能用到的场景。 但是&#x…...

Kafka 如何保证消息可靠性?

Kafka 保证消息可靠性主要通过以下几个机制来实现&#xff0c;从生产者到消费者的整个链路上都设计了相应的保障措施&#xff1a; 1. 生产者&#xff08;Producer&#xff09;端的可靠性 ✅ a. acks 参数&#xff08;确认机制&#xff09; acks0&#xff1a;生产者不等待任何…...

【嵌入式系统设计师】知识点:第2章 嵌入式系统硬件基础知识

提示:“软考通关秘籍” 专栏围绕软考展开,全面涵盖了如嵌入式系统设计师、数据库系统工程师、信息系统管理工程师等多个软考方向的知识点。从计算机体系结构、存储系统等基础知识,到程序语言概述、算法、数据库技术(包括关系数据库、非关系型数据库、SQL 语言、数据仓库等)…...

C++重载运算符的本质

C 中运算符重载的本质就是函数调用&#xff0c;编译器会将运算符表达式转换为对特定函数的直接调用。以下是具体原理和实现细节&#xff1a; 1. 运算符重载的底层实现 当重载一个运算符&#xff08;如 、、<<&#xff09;时&#xff0c;实际上是在定义一个特殊名称的函数…...

Python解决“数字插入”问题

Python解决“数字插入”问题 问题描述测试样例解题思路代码 问题描述 小U手中有两个数字 a 和 b。第一个数字是一个任意的正整数&#xff0c;而第二个数字是一个非负整数。她的任务是将第二个数字 b 插入到第一个数字 a 的某个位置&#xff0c;以形成一个最大的可能数字。 你…...

深入讲解:智能合约中的读写方法

前言 在探秘区块链开发:智能合约在 DApp 中的地位及与传统开发差异一文中我提到对于智能合约中所有的写入其实都算是交易。而在一个完整的智能合约代码中最大的两个组成部分就是读取和写入。 本文将为你深入探讨该两者方法之间的区别。 写方法 写方法其实就是对区块链这一…...

Java进阶之旅-day05:网络编程

引言 在当今数字化的时代&#xff0c;网络编程在软件开发中扮演着至关重要的角色。Java 作为一门广泛应用的编程语言&#xff0c;提供了强大的网络编程能力。今天&#xff0c;我们深入学习了 Java 网络编程的基础知识&#xff0c;包括基本的通信架构、网络编程三要素、IP 地址、…...

Eliet Chat开发日志:信令服务器注册与通信过程

目录 1. 架构设计&#xff1a;信令服务器与客户端 2. 选择技术栈 3. 实现信令服务器 4. 客户端实现 5. 测试 6. 下一步计划 日期&#xff1a;2025年4月5日 今天的工作重点是实现两个设备通过信令服务器注册并请求对方公网地址信息&#xff0c;以便能够进行点对点通信。我…...

如何设计一个本地缓存

想获取更多高质量的Java技术文章&#xff1f;欢迎访问Java技术小馆官网&#xff0c;持续更新优质内容&#xff0c;助力技术成长 Java技术小馆官网https://www.yuque.com/jtostring 如何设计一个本地缓存 随着系统的复杂性和数据量的增加&#xff0c;如何快速响应用户请求、减…...

2024版idea使用Lombok时报找不到符号

今天在springboot项目中使用Lombok的Builder注解&#xff0c;启动时居然报了找不到符号的错&#xff0c;如下图 于是开始了漫长的寻找之路&#xff0c;首先去settings->Plugins中看自己的Lombok插件是否启动&#xff0c;发现确实是如此&#xff0c;然后看网上的教程去加上这…...