logo

额外区块类型 (EBT) - 全新的布局构建器体验❗

额外区块类型 (EBT) - 样式化、可定制的区块类型:幻灯片、标签页、卡片、手风琴等更多类型。内置背景、DOM Box、JavaScript 插件的设置。立即体验布局构建的未来。

演示 EBT 模块 下载 EBT 模块

❗额外段落类型 (EPT) - 全新的 Paragraphs 体验

额外段落类型 (EPT) - 类似的基于 Paragraph 的模块集合。

演示 EPT 模块 滚动

滚动

Drupal 8 多站点概述

04/10/2025, by Ivan

使用 Drupal 多站点安装的主要原因是:当您管理多个运行相同 Drupal 核心版本的网站时,可以节省大量时间。每当发布新的 Drupal 核心更新时,您只需在一份代码库上执行更新,而无需在每个网站上分别更新。但这种方式也有其缺点。不过,如果您使用 Aegir 托管系统,这些问题会得到缓解。

否则,手动管理多站点安装的复杂性和潜在问题需要相当高的技术水平。具备此水平的用户通常熟悉命令行操作,并且可以在不到两分钟的时间内通过命令行更新每个受管网站。而使用 Aegir 则更快,因为您可以将所有网站排入“点击式”更新队列,并将整个平台(在多站点环境中称为 Aegir 平台)迁移到更新的版本。任何更新失败的网站都会被自动回滚。

多站点基础知识

一个 Drupal 网站需要 Web 服务器程序(例如 Apache 或 IIS)、数据库程序(例如 MySQL 或 MSSQL)以及 PHP 解释器。每个网站的独特部分都保存在其数据库和代码库中。

更新 Drupal 核心本质上是替换您的代码库。数据库保持不变,只需在替换代码库后为每个网站运行一次更新脚本([YOURSITE/update.php])。

使用单独数据库的原因

数据库在后台运行,由代码库进行管理。通常情况下,您无需直接干预数据库。

尝试让多个网站共用一个数据库几乎没有实际意义。尽管共享数据库可以略微节省磁盘空间,但潜在的风险远远大于收益。

  • 如果某个网站的数据因用户误操作或恶意攻击而损坏,可能会影响所有网站。
  • 数据库由许多“表”组成。如果您想将某个网站从多站点配置中迁出,将很难区分哪些表属于哪个网站,哪些是所有网站共用的。

每个网站使用单独的代码库

理论上,所有运行相同 Drupal 版本的网站共用一份代码库,可以节省时间和磁盘空间。

然而,磁盘空间的成本非常低,因此可以忽略不计。

如前所述,在命令行中更新每个 Drupal 网站到新版本仅需几分钟,因此,与其研究如何设置和排查多站点,不如花时间学习命令行更新技能。

共享代码库仅在所有网站都使用相同模块和配置的情况下才最有用,例如,当您为一个联盟的各支运动队分别管理网站时。

但如果多个网站使用的模块不同,那么当某个模块出现错误时,即使只有部分网站使用该模块,也可能导致所有网站都出现问题。

Drupal 8 多站点设置

如果您想将 Drupal 网站设置为多站点配置,请从此处开始。