首页主机资讯Apache2 Ubuntu版如何配置负载均衡

Apache2 Ubuntu版如何配置负载均衡

时间2025-12-05 10:13:05发布访客分类主机资讯浏览256
导读:Apache2 Ubuntu 版负载均衡配置指南 一 准备与安装 更新索引并安装 Apache2:sudo apt update && sudo apt install apache2 启用核心代理与负载均衡模块:sudo...

Apache2 Ubuntu 版负载均衡配置指南

一 准备与安装

  • 更新索引并安装 Apache2:sudo apt update & & sudo apt install apache2
  • 启用核心代理与负载均衡模块:sudo a2enmod proxy proxy_http proxy_balancer lbmethod_byrequests
  • 可选:启用与反向代理相关的辅助模块(如需要改写 HTML 或处理头部):sudo a2enmod proxy_html headers
  • 重启使模块生效:sudo systemctl restart apache2

二 基本配置步骤

  • 创建站点配置(示例:/etc/apache2/sites-available/loadbalancer.conf),内容示例:
<
    VirtualHost *:80>
    
    ServerName mycluster.example.com

    <
    Proxy "balancer://mycluster">
    
        BalancerMember http://10.0.0.11:8080 route=backend1
        BalancerMember http://10.0.0.12:8080 route=backend2
        # 可按需增加更多后端
    <
    /Proxy>
    

    ProxyPass        / balancer://mycluster
    ProxyPassReverse / balancer://mycluster
<
    /VirtualHost>
    
  • 启用站点并重启:sudo a2ensite loadbalancer.conf & & sudo systemctl reload apache2
  • 说明:将请求路径“/”反向代理到名为“balancer://mycluster”的后端集群;BalancerMember 可使用内网地址与端口,便于在 NAT/内网 环境部署

三 常用策略与会话保持

  • 负载均衡算法(通过 lbmethod 指定,示例为按请求数轮询):
<
    Proxy "balancer://mycluster">
    
    BalancerMember http://10.0.0.11:8080 route=backend1
    BalancerMember http://10.0.0.12:8080 route=backend2
    ProxySet lbmethod=byrequests
<
    /Proxy>
    
  • 会话粘性(Sticky Session):当应用使用 JSESSIONID 等会话标识时,可开启粘性以固定用户到同一后端
<
    Proxy "balancer://mycluster">
    
    BalancerMember http://10.0.0.11:8080 route=backend1
    BalancerMember http://10.0.0.12:8080 route=backend2
    ProxySet lbmethod=byrequests
    ProxySet stickysession=JSESSIONID
<
    /Proxy>
    
# 若后端使用 URL 重写会话标识(如 ;
    jsessionid),可同时设置 scolonpathdelim
  • 健康检查与状态标记:通过为成员设置状态标记控制参与调度的后端
<
    Proxy "balancer://mycluster">
    
    BalancerMember http://10.0.0.11:8080 route=backend1 status=+H
    BalancerMember http://10.0.0.12:8080 route=backend2
<
    /Proxy>
    
# +H 表示“热备”(仅当其它成员不可用时才使用),也可移除以参与正常轮询
  • 提示:Apache httpd 的负载均衡以“尽力而为”的健康检查为主,如需更强主动探测,建议在前端叠加 HAProxy/Nginx 或应用层健康检查机制

四 启用 HTTPS 与前置注意事项

  • 启用 SSL 模块并部署证书(示例):
sudo a2enmod ssl
# 将证书与私钥放置于 /etc/ssl/(示例:server.crt / server.key)
# 新建或编辑 /etc/apache2/sites-available/loadbalancer-ssl.conf
<
    VirtualHost *:443>
    
    ServerName mycluster.example.com
    SSLEngine on
    SSLCertificateFile    /etc/ssl/server.crt
    SSLCertificateKeyFile /etc/ssl/server.key

    <
    Proxy "balancer://mycluster">
    
        BalancerMember http://10.0.0.11:8080 route=backend1
        BalancerMember http://10.0.0.12:8080 route=backend2
    <
    /Proxy>
    
    ProxyPass        / balancer://mycluster
    ProxyPassReverse / balancer://mycluster
<
    /VirtualHost>
    
# 启用站点并重启
sudo a2ensite loadbalancer-ssl.conf &
    &
     sudo systemctl reload apache2
  • 前置注意事项
    • 确保后端服务器与应用对来自 Apache 负载均衡器 的 IP 放行(安全组/防火墙/应用白名单)。
    • 使用 route=xxx 有助于会话粘性、日志追踪与故障定位。
    • 生产环境建议开启日志并关注访问与错误日志:/var/log/apache2/access.log、/var/log/apache2/error.log

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: Apache2 Ubuntu版如何配置负载均衡
本文地址: https://pptw.com/jishu/764474.html
如何在Linux FTP上实现自动登录 如何在Ubuntu上优化Apache2响应速度

游客 回复需填写必要信息