Linux Apache 负载均衡实操指南
一 核心原理与准备
二 快速上手配置示例
# /etc/apache2/sites-available/000-default.conf 或自定义配置
<VirtualHost *:80>
ServerName your.domain
ProxyRequests Off
ProxyPreserveHost On
<Proxy balancer://mycluster>
BalancerMember http://backend1:8080
BalancerMember http://backend2:8080
</Proxy>
ProxyPass / balancer://mycluster/
ProxyPassReverse / balancer://mycluster/
</VirtualHost>
# 启用站点并重启
sudo a2ensite 000-default.conf # 若使用自定义文件请 a2ensite your.conf
sudo systemctl restart apache2
# 确认已 LoadModule 相应模块后
<VirtualHost *:80>
ServerName your.domain
ProxyRequests Off
ProxyPreserveHost On
<Proxy balancer://mycluster>
BalancerMember http://backend1:8080
BalancerMember http://backend2:8080
</Proxy>
ProxyPass / balancer://mycluster/
ProxyPassReverse / balancer://mycluster/
</VirtualHost>
# 重启
sudo systemctl restart httpd
三 进阶配置要点
<Proxy balancer://mycluster>
BalancerMember http://backend1:8080 loadfactor=3 route=be1
BalancerMember http://backend2:8080 loadfactor=1 route=be2
ProxySet lbmethod=byrequests
</Proxy>
ProxyPass / balancer://mycluster/
ProxyPassReverse / balancer://mycluster/
<VirtualHost *:443>
ServerName your.domain
SSLEngine on
SSLCertificateFile /path/to/cert.crt
SSLCertificateKeyFile /path/to/key.key
<Proxy balancer://mycluster>
BalancerMember http://backend1:8080
BalancerMember http://backend2:8080
</Proxy>
ProxyPass / balancer://mycluster/
ProxyPassReverse / balancer://mycluster/
</VirtualHost>
<Location /balancer-manager>
SetHandler balancer-manager
Require local
# 或按需限制来源:Require ip 192.168.1.0/24
</Location>
访问 http://your.domain/balancer-manager 进行管理。
四 常见问题与排查