怎么配置 Apache 主备服务器(Master-Slave)热切换

舞姬之光

舞姬之光

2026-07-03

515人浏览

原创

apache本身不支持主备热切换,需依赖keepalived(vip漂移)、haproxy(健康检查与连接排空)等上层组件实现高可用,配合轻量健康接口、配置同步及全链路验证。

怎么配置 apache 主备服务器(master-slave)热切换

Apache 本身不支持主备热切换,它只是一个 Web 服务进程,没有内置的故障探测、VIP 管理或流量重定向能力。所谓“Apache 主备热切换”,实际是**在 Apache 前面加一层高可用控制组件**,由该组件负责健康检查、状态判断、流量接管和告警——Apache 只是被调度的后端节点。 要实现真正可用的热切换(秒级响应、无连接中断、客户端无感知),需明确分工、分层配置:

1. 选对主备控制器,别指望 Apache 自己切

推荐组合(按成熟度与轻量级排序):

  • Keepalived + VIP 漂移:最贴近网络层,适合纯 Apache 静态服务或反向代理场景;通过真实 HTTP 探活(如 curl -f http://127.0.0.1/health)判断 Apache 是否真活,不是只看进程是否存在
  • HAProxy 作前端 LB:更适合动态应用,支持连接排空(draining)、细粒度健康检查(option httpchk GET /health)、自动屏蔽 Down 节点,无需 VIP,直接 DNS 或 IP 访问即可
  • 云厂商负载均衡(如阿里云 SLB、AWS ALB):免运维,但需确保后端 Apache 暴露可靠健康接口,且安全组放行检查端口

不推荐仅靠 mod_proxy_balancermod_proxy_hcheck 实现主备:它们能摘除故障节点,但无法控制“谁是主、谁是备”的角色绑定,也不处理 VIP、ARP、会话延续等关键问题。

2. Apache 必须暴露轻量、可靠的健康接口

这是所有上层组件做决策的基础。不能依赖 /server-status(需权限、开销大、易误判),建议用静态文件方式:

Apache 2.4.62
Apache 2.4.62

PHP中文网提供Apache 2.4.62 官方 tar.gz 源码包下载,通过源码编译安装,开发者能够灵活定制模块、优化性能并精准控制安装路径,满足多样化的业务需求。

下载
  • 创建 /var/www/html/health,内容仅为 OK
  • 在 Apache 配置中添加别名:Alias /health /var/www/html/health,并限制访问:<location> Require all granted </location>
  • 验证命令:curl -sI http://127.0.0.1/health | grep "200 OK",必须稳定返回 200
  • 确保 SELinux 和防火墙不拦截(semanage port -a -t http_port_t -p tcp 80 若需自定义端口)

3. 主备节点配置必须严格一致

Keepalived 或 HAProxy 只管流量调度,不管内容。若主备 Apache 提供不同页面、证书路径错误、SSL 配置不一致,切换后用户会看到 404、证书警告甚至 500 错误:

  • 使用 rsyncAnsible 同步 /etc/httpd/conf//etc/httpd/conf.d/*.conf 全量配置
  • 静态资源目录(如 /var/www/html)建议挂载同一 NFS,或用 inotify + rsync 实时同步
  • SSL 证书、密钥文件路径、权限(600 for key, 644 for cert)主备完全相同
  • 禁用 ExtendedStatus On:该状态不跨节点同步,切换后显示为空或异常,属正常现象,不必强求一致

4. 切换验证不能只看 VIP 是否漂移

真正有效的热切换,要验证整条链路是否通:

  • 网络层:VIP 是否可 ping、端口 80/443 是否监听(nc -zv vip 80
  • 服务层:健康接口返回 200(curl http://vip/health
  • 业务层:模拟真实请求(curl -I https://yourdomain.com),检查 HTTP/1.1 200、响应头、关键 HTML 字符串(如 grep "Welcome"
  • 日志层:备用节点 access_log 是否有新请求、error_log 无大量 PHP/模块报错
  • 客户端侧:用浏览器或 curl 多次访问,确认无连接重置、无 502/504、无长延迟

不复杂但容易忽略

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
服务器是什么
服务器是什么

服务器是一种计算机硬件设备或软件程序,它具有强大的计算和存储能力,用请求、存储数据和提供服务。它在互联网中着关重要的作用,为用户提供各种服务和资源。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.15

355

5

连接apple id服务器时出错
连接apple id服务器时出错

连接apple id服务器时出错的原因包括网络连接问题、服务器问题、Apple ID账户问题、设备问题、防火墙或安全软件问题、时间和日期设置问题、Apple服务器维护等。本专题为大家提供apple id相关的文章、下载、课程内容,供大家免费下载体验。

2023.09.08

618

5

搭建互联网服务器
搭建互联网服务器

搭建互联网服务器需要:1、选择合适的硬件和操作系统,第一步是选择合适的硬件和操作系统;2、安装和配置操作系统,是搭建互联网服务器的关键步骤;3、安装和配置服务器软件,是搭建互联网服务器的下一步,常见的服务器软件包括Apache、Nginx、Tomcat等;4、配置防火墙和安全性,是搭建互联网服务器的重要步骤;5、域名解析和配置,是搭建互联网服务器的最后一步。

2023.09.19

1217

5

如何查看服务器状态
如何查看服务器状态

查看服务器状态的方法有使用命令行工具、图形界面工具、监控工具、日志文件和远程管理工具等。本专题为大家提供服务器状态相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.09

430

5

服务器域名转接慢怎么解决
服务器域名转接慢怎么解决

服务器域名转接慢的解决办法有DNS优化、服务器优化、CDN加速、前端优化和网络优化等。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.17

324

5

服务器评测软件
服务器评测软件

服务器评测软件有PassMark Software、CPU-Z、GPU-Z、CrystalDiskMark、IOmeter、JMeter、LoadRunner、Apache Bench等等。详细介绍:1、PassMark Software是一款综合性的服务器性能测试软件,可以评估服务器在各种负载条件下的性能;2、CPU-Z是一款可以提供服务器CPU详细信息的软件等等。

2023.10.17

190

3

如何开启TFTP服务器
如何开启TFTP服务器

开启TFTP服务器的步骤包括选择TFTP服务器软件、下载和安装软件、配置TFTP服务器以及启动和测试服务器等。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.18

1057

4

服务器负载不兼容怎么解决
服务器负载不兼容怎么解决

解决方法:1、增加服务器资源;2、负载均衡;3、优化应用程序;4、增加缓存机制;5、分布式架构;6、限流和熔断;7、自动化扩容。想知道更详细服务器负载不兼容的解决方法,可以访问本专题下面的文章。

2023.10.20

1872

4

宽带如何接入服务器
宽带如何接入服务器

宽带接入服务器的方法有ADSL宽带接入服务器、光纤接入服务器、无线接入服务器和以太网接入服务器等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.20

323

5

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程