Drupal 8 多站点概述
使用 Drupal 多站点安装的主要原因是:当您管理多个运行相同 Drupal 核心版本的网站时,可以节省大量时间。每当发布新的 Drupal 核心更新时,您只需在一份代码库上执行更新,而无需在每个网站上分别更新。但这种方式也有其缺点。不过,如果您使用 Aegir 托管系统,这些问题会得到缓解。
否则,手动管理多站点安装的复杂性和潜在问题需要相当高的技术水平。具备此水平的用户通常熟悉命令行操作,并且可以在不到两分钟的时间内通过命令行更新每个受管网站。而使用 Aegir 则更快,因为您可以将所有网站排入“点击式”更新队列,并将整个平台(在多站点环境中称为 Aegir 平台)迁移到更新的版本。任何更新失败的网站都会被自动回滚。
多站点基础知识
一个 Drupal 网站需要 Web 服务器程序(例如 Apache 或 IIS)、数据库程序(例如 MySQL 或 MSSQL)以及 PHP 解释器。每个网站的独特部分都保存在其数据库和代码库中。
更新 Drupal 核心本质上是替换您的代码库。数据库保持不变,只需在替换代码库后为每个网站运行一次更新脚本([YOURSITE/update.php])。
使用单独数据库的原因
数据库在后台运行,由代码库进行管理。通常情况下,您无需直接干预数据库。
尝试让多个网站共用一个数据库几乎没有实际意义。尽管共享数据库可以略微节省磁盘空间,但潜在的风险远远大于收益。
- 如果某个网站的数据因用户误操作或恶意攻击而损坏,可能会影响所有网站。
- 数据库由许多“表”组成。如果您想将某个网站从多站点配置中迁出,将很难区分哪些表属于哪个网站,哪些是所有网站共用的。
每个网站使用单独的代码库
理论上,所有运行相同 Drupal 版本的网站共用一份代码库,可以节省时间和磁盘空间。
然而,磁盘空间的成本非常低,因此可以忽略不计。
如前所述,在命令行中更新每个 Drupal 网站到新版本仅需几分钟,因此,与其研究如何设置和排查多站点,不如花时间学习命令行更新技能。
共享代码库仅在所有网站都使用相同模块和配置的情况下才最有用,例如,当您为一个联盟的各支运动队分别管理网站时。
但如果多个网站使用的模块不同,那么当某个模块出现错误时,即使只有部分网站使用该模块,也可能导致所有网站都出现问题。
Drupal 8 多站点设置
如果您想将 Drupal 网站设置为多站点配置,请从此处开始。