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.com
    DocumentRoot /var/www/html
    DirectoryIndex 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.com
    DocumentRoot /var/www/html
    DirectoryIndex 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.com
        BalancerMember http://web2.example.com
        ProxySet stickysession=ROUTEID
    </Proxy>
    ProxyPreserveHost On
    ProxyPass / 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)进行智能分发

相关推荐
鹏大师运维14 分钟前
为什么信创电脑装软件总提示“软件包架构不匹配”?
linux·运维·架构·国产化·麒麟·deb·统信uos
007张三丰31 分钟前
软件测试专栏(11/20):测试框架开发:pytest深度解析与插件体系
运维·服务器·自动化测试·pytest·测试框架
weixin_604236672 小时前
华三 路由器 极简核心配置
运维·服务器·网络·h3c·h3c路由器
鹤落晴春2 小时前
【Linux复习】管理SELinux安全性
linux·运维·服务器
AI智图坊2 小时前
多件装组合SKU图的批量生产效率分析:从PS手工到AI自动化的工作流改造
大数据·运维·人工智能·gpt·ai作画·自动化·aigc
云计算磊哥@7 小时前
运维开发宝典026-MySQL02数据库表操作
运维·数据库·运维开发
天天进步20157 小时前
Tunnelto 源码解析 #9:控制服务器设计:Warp、WebSocket、Ping/Pong 与连接保活
运维·服务器·websocket
极客先躯8 小时前
高级java每日一道面试题-2026年02月01日-实战篇[Docker]-Docker Volume 的生命周期管理是怎样的?
java·运维·docker·容器·持久化·架构图·容器卷
Java面试题总结8 小时前
Linux-Ubantu-贴士-apt的地盘
linux·运维·服务器
志栋智能8 小时前
超自动化巡检:提升MTTR,缩短业务影响时间
运维·自动化