Apache 怎么使用 Include 配置在多台前端机之间同步站点结构

冷漠man

冷漠man

2026-07-23

442人浏览

原创

apache本身不负责跨机器同步,include仅在单机加载本地配置时生效;多机配置一致需结合分层目录结构(sites-available/、conf-available/、sites-enabled/)与外部同步机制(如ansible),并确保配置校验、原子替换及graceful重启。

apache 怎么使用 include 配置在多台前端机之间同步站点结构

Apache 本身不负责跨机器同步,Include 指令只在单机配置加载时起作用,它读取本地文件路径(如 Include /etc/apache2/sites-enabled/*.conf),不会自动把文件从一台服务器拉到另一台。要在多台前端机之间保持站点结构一致,必须把 Include 的模块化组织方式外部同步机制 配合使用——前者让配置可管理、易验证,后者确保物理文件一致。

用 Include 奠定可同步的配置结构

先在所有前端机上统一采用分层目录结构(推荐 Debian/Ubuntu 风格):

  • /etc/apache2/conf-available/:存原始、未启用的配置片段(如 php7.4.confsecurity-hardening.conf
  • /etc/apache2/sites-available/:存各站点独立的虚拟主机配置(如 shop.example.com.confapi.example.com.conf
  • /etc/apache2/sites-enabled/:仅存放指向 sites-available/ 的符号链接(不存真实文件)
  • httpd.confapache2.conf 中明确写:
    IncludeOptional sites-enabled/*.conf
    这样,只要 sites-enabled/ 下的软链一致,加载的配置就一致

同步内容必须包含三类文件

仅同步 sites-enabled/ 目录不够——它只是“开关”。真正需要同步的是:

  • 所有 sites-available/ 下的 .conf 文件:每个站点的完整 VirtualHost 定义
  • 所有 conf-available/ 下的通用配置:如 SSL 设置、Header 规则、PHP 处理逻辑
  • 网站文档根目录(如 /var/www/shop.example.com/:静态资源、模板、上传目录等,需与配置中 DocumentRoot 严格对应

注意:不要同步 sites-enabled/ 里的软链接本身(不同机器路径可能不同),而应同步源文件 + 统一启用逻辑(例如用 Ansible 确保相同站点名的 conf 总是被 ln -sf 启用)。

面向设计的AXUI前端框架表单
面向设计的AXUI前端框架表单

面向设计的AXUI前端框架表单是一款包含表格、列表、弹窗等的AXUI前端框架表单下载。

下载

同步过程必须带校验和原子切换

直接 rsync 覆盖会导致中间态错误。安全做法是:

  • 每次推送前,在目标节点执行:
    apachectl configtest && echo "OK" || exit 1
    只有全部节点测试通过,才继续下一步
  • 新配置写入临时路径(如 /etc/apache2/sites-available/shop.example.com.conf.new),确认无误后用 mv 原子替换原文件
  • 启用操作统一用脚本完成:
    ln -sf ../sites-available/shop.example.com.conf /etc/apache2/sites-enabled/shop.example.com.conf
  • 最后执行 apachectl graceful(非 reload),避免请求中断

推荐用 Ansible 实现可控滚动同步

比手工 rsync + SSH 更可靠,尤其对多节点:

  • copy 模块分发 sites-available/conf-available/ 文件
  • file 模块批量创建 sites-enabled/ 符号链接
  • command 模块调用 apachectl configtest,失败时跳过重启并记录
  • 设置 serial: 2 实现每次只更新两台,降低集群风险
  • 旧配置备份命令:
    shell: cp -a /etc/apache2/sites-available/ /backup/apache2/sites-available-{{ ansible_date_time.iso8601_basic }}

这样,Include 不是同步工具,而是让同步变得可预测、可验证、可回滚的关键设计前提。

前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!

相关专题

更多
python是前端还是后端
python是前端还是后端

Python属于前端也属于后端,其灵活性和丰富的生态系统使得开发人员能够在不同的领域中灵活运用。本专题为大家提供python相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.11

1111

5

前端如何实现即时通讯
前端如何实现即时通讯

实现即时通讯的方法有WebSocket、Long Polling、Server-Sent Events、WebRTC等等。详细介绍:1、WebSocket,它可以在客户端和服务器之间建立持久连接,实现实时的双向通信,前端可以使用 WebSocket API来创建WebSocket连接,并通过发送和接收消息来实现即时通讯;2、Long Polling,是一种模拟实时通信的技术等等。

2023.10.09

2283

6

前端和后端的区别
前端和后端的区别

前端关注的是用户界面的设计和交互,而后端则注重数据处理和逻辑控制。想了解更多前端后端的相关内容,可以阅读本专题下面的文章。

2024.03.19

2154

13

php和前端的关联介绍
php和前端的关联介绍

php既可以作为前端语言,也可以作为后端语言。想了解更多php和前端的相关内容,可以阅读本专题下面的文章。

2024.03.22

2344

10

前端外包工作内容有哪些
前端外包工作内容有哪些

前端外包工作内容包括:1. 网站和应用程序开发;2. 用户界面和交互设计;3. 用户体验优化;4. 设计和视觉开发;5. 跨浏览器兼容性;6. 性能优化;7. 维护和更新;8. 项目管理和沟通。想了解更多前端的相关内容,可以阅读本专题下面的文章。

2024.05.22

336

5

服务器是什么
服务器是什么

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

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

1216

5

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

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

2023.10.09

429

5

热门下载

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

精品课程

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