暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

使用 MySQL 数据库服务在 Oracle Linux 上部署 Drupal CMS

原创 Ellison 2023-03-15
250

Drupal是最受欢迎的内容管理系统(CMS)之一 可用。它是免费和开源的,在GNU公共许可证下发布。

Drupal基于LAMP堆栈,为用户和企业提供了一个 可扩展且强大的架构,低实施和维护工作量,以及 一个由社区主导的大型知识库。它的设置和使用不需要高级 技术技能。它为全球网站提供了基础架构,范围从 个人博客到公司、政治和政府网站。它非常可扩展,并且 模块化,使其在各种场景中都很有用。


建筑

您可以将Drupal部署在单个节点中,也可以作为高可用性的一部分部署 多节点配置。此参考体系结构包括 Terraform 自动化,它 与两种配置兼容。

有关生产级、高可用性体系结构,请参阅下图, 这说明了多节点方案。

插图drupal-mds-multi的描述:↓

此映像包含甲骨文云 基础结构区域包含单个可用性域,该域本身包含三个错误 域、容错域 1、容错域 2 和容错域 3。虚拟云网络 (VCN) 在存储库中跨越可用性域和所有三个容错域。这 VCN 同时包含一个公有子网和一个私有子网,它们都跨越三个故障 域。这两个子网都受路由表和安全列表的保护。监测 审核和标识服务在区域内提供,但在 VCN。

  • 公有子网包含一个负载均衡器层,其中出现故障 域 1 包含主动负载均衡器,容错域 2 包含被动负载均衡器 负载均衡器。从 VCN 到此层的流量由安全性控制 列表和路由表。
  • 负载均衡器层子网下方是一个私有子网,其中包含 Web服务器层,包括两个DrupalWeb服务器,每个故障一个 域 1 和 2。
  • 在此之下,私有子网包含一个文件存储层,其中 容错域 2 中的网络文件存储 (NFS)。对此层的访问受到控制 由网络安全组 (NSG) 提供。
  • 底部私有子网包含三个 MySQL 数据库系统, 三个容错域中各一个。容错域 1 中的数据库系统是 主要,而另外两个是次要的。从 VCN 到此层的流量为 由安全列表和路由表控制。

区域外部的用户通过 Internet 网关访问负载均衡器层。这 然后,负载均衡器将流量定向到任一故障中的可用 Drupal Web 服务器 域 1 或 2。这些服务器还从 MSSQL 数据库系统中提取数据 私有子网。

上图说明了一个简化的高可用性应用程序 OCI 上的环境,重点关注负载后面的两个虚拟机实例 平衡器。这些实例存在于可用性中的两个不同的容错域中 域。此体系结构利用了 OCI 文件存储服务;Drupal 已安装 在共享网络文件系统 (NFS) 中。文件系统存在于专用中 具有网络安全组 (NSG) 的子网,该安全组允许访问装载目标 从所有实例。

下图说明了一个简单的单节点体系结构。它 由轻量级部署组成,可能适合学习目的或 作为概念验证。


插图 drupal-mds-single 的描述:(此图显示了甲骨文云 基础结构区域,其中包含单个可用性域。虚拟云网络 (VCN) 跨越区域和可用性域。此 VCN 包含一个公有子网和一个 私有子网。到这些子网的流量由路由表控制。在 可用性域,公有子网包含 Drupal CMS 和 私有子网包含 MySQL 数据库服务的实例。访问这两个 组件通过安全列表进行控制。

从该区域访问 VCN 是通过互联网网关进行的。交通 网关和 CMS 之间以及 CMS 和数据库之间的双向流动 服务。



此单节点体系结构具有单个 VM 实例和独立 MySQL DB System (MDS)。实例放置在公有子网中,可从 互联网,而 MDS 位于私有子网中。安全列表和路由 表用于限制和路由流量。

多节点架构包含以下 OCI 组件:

  • 租佃

    租户是 Oracle 设置的安全隔离分区 在注册甲骨文云基础设施时。你 可以在 Oracle 云中创建、组织和管理您的资源 您的租赁。租赁是公司或组织的同义词。

  • 政策

    Oracle 云基础设施身份和访问管理 策略指定谁可以访问哪些资源以及如何访问。已授予访问权限 在组和区间级别,这意味着您可以编写一个策略 为组提供特定区间内特定类型的访问权限,或 租赁。

  • 车厢

    区间是 甲骨文云基础设施租赁。使用隔间整理您的 Oracle 云中的资源,控制对资源的访问并设置使用情况 配额。要控制对给定区间中资源的访问,您需要 定义策略,指定谁可以访问资源以及执行哪些操作 他们可以表演。

  • 虚拟云网络 (VCN)

    您在 OCI 中的第一步是设置虚拟云 云资源的网络。VCN 是一种软件定义网络,它 您在 OCI 区域中设置。VCN 可以分段为子网,子网可以 特定于区域或可用性域。两个区域特定 和可用性域特定的子网可以共存于同一 VCN 中。一个 子网可以是公共子网,也可以是私有子网。

  • 可用性域

    可用性域是独立的数据中心 在一个区域内。每个可用性域中的物理资源是 与其他可用性域中的资源隔离,这些资源 提供容错能力。可用性域不共享基础结构 例如电源或冷却,或内部可用性域网络。所以,一个 一个可用性域的故障不太可能影响另一个可用性域 区域中的可用性域。

  • 负载均衡器

    Oracle 云基础设施负载平衡服务提供 从单个入口点到多个服务器的自动流量分配 在后端。

  • 计算实例

    甲骨文云基础设施 计算允许预配和管理计算主机。您可以启动计算 具有满足资源要求(CPU、内存、 网络带宽和存储)。创建计算实例后,您可以 安全地访问它,重新启动它,连接和分离卷,然后终止它 当你不需要它时。

  • 互联网网关

    互联网网关允许公有子网之间的流量 在VCN和公共互联网中。

  • 动态路由网关 (DRG)

    DRG 是一个虚拟路由器,为私有路由器提供路径 本地网络和 VCN 之间的网络流量,也可以使用 在同一区域或跨区域的 VCN 之间路由流量。

  • 网络安全组 (NSG)

    NSG 充当云资源的虚拟防火墙。随着 Oracle 云基础设施的零信任安全模型,所有流量都是 拒绝,您可以控制 VCN 内的网络流量。核供应国集团 由一组入口和出口安全规则组成,这些规则仅适用于 单个 VCN 中指定的一组 VNIC。

  • 文件存储

    甲骨文云基础设施 文件存储服务提供持久、可扩展、安全的企业级 网络文件系统。您可以连接到文件存储服务文件系统 从 VCN 中的任何裸机、虚拟机或容器实例。你 还可以使用 Oracle 云从 VCN 外部访问文件系统 基础设施快速连接和IPSec VPN。

建议

使用以下建议作为起点 在带有 MySQL 数据库服务的 Oracle Linux 上部署 Drupal CMS 时。你 要求可能与此处描述的体系结构不同。

  • VCN

    创建 VCN 时,确定云资源的 IP 地址数 在每个子网中需要。使用无类别域间路由 (CIDR) 表示法,指定子网掩码和较大的网络地址范围 足以满足所需的 IP 地址。使用地址范围在 标准专用 IP 地址空间。

    选择符合以下条件的地址范围 不与本地网络或任何其他网络重叠,因此 您可以在 VCN 和本地网络之间设置连接,如果 必要。

    设计子网时,请考虑流量 和安全要求。在同一范围内附加所有计算实例 同一子网的层或角色,可用作安全边界。

  • 安全

    使用策略限制谁可以访问 OCI 资源 您的公司拥有以及他们如何访问它们。使用保险柜进行其他操作 保护您的密钥、证书和机密。

    这 网络服务提供两种使用安全性的虚拟防火墙功能 在数据包级别控制流量的规则:安全列表和网络 安全组 (NSG)。NSG 由一组入口和出口组成 仅适用于单个中您选择的一组 VNIC 的安全规则 VCN。例如,可以选择充当 Web 的所有计算实例 VCN 中多层应用程序的 Web 层中的服务器。

    NSG 安全规则的功能与安全列表规则相同。 但是,对于 NSG 安全规则的源或目标,可以指定 一个 NSG 而不是 CIDR 块。因此,您可以轻松地将安全规则写入 控制同一 VCN 中两个 NSG 之间的流量或单个 VCN 中的流量 核供应国集团。创建数据库系统时,可以指定一个或多个 NSG。 还可以更新现有数据库系统以使用一个或多个 NSG。

  • 计算

    选择具有适当 OCPU 和内存组合的形状,并预配 每个实例的本地 NVMe 和/或块存储根据需要。 考虑使用可用的灵活形状,这些形状提供了更大的灵活性 结合 OCPU 和内存。

  • 数据库

    根据计划选择您的 Oracle MySQL 数据库服务配置。 工作量。为三个冗余节点启用 MySQL 高可用性。

考虑

在带有MySQL数据库服务的Oracle Linux上部署Drupal CMS时, 请考虑以下因素:

  • 应用程序可用性和可扩展性

    在此示例中,在高可用性体系结构中,我们展示了两个 同一可用性域内不同容错域中的实例。你 可以选择将实例放置在不同的可用性域中(在 区域(如果可用),以实现更高的容错能力。

    一 替代方法,代表更动态地适应更苛刻的要求 和不同的性能需求,是使用实例池和自动缩放。 实例池允许您基于 同一区域中的相同配置。

    自动缩放 允许您自动调整实例中的计算实例数 基于性能指标(如 CPU 利用率)的池。自动缩放帮助 您在高需求期间为用户提供一致的性能,并且 帮助您在需求低迷期间降低成本。

  • 数据库可用性和可扩展性

    显示的 MySQL 数据库系统 在高可用性架构中利用内置的 MySQL High 可用性选项,创建三个实例并将它们放置在不同的实例中 容错域。

  • 数据库备份

    MySQL 数据库服务支持两种类型的备份:完整备份 备份数据库系统中包含的所有数据和增量数据 仅备份自上次以来添加或更改的数据 完整备份。备份按以下方式运行:

    • 手动:控制台中的操作或通过 API 启动备份。手动备份可以保留 最少一天,最多365天。
    • 自动:自动计划备份运行,无需任何备份 在用户选择的时间进行所需的交互。自动备份 保留 35 到 <> 天。默认保留值为 七天。定义后,无法编辑 自动备份
  • 计算备份

    Oracle 云基础设施块卷服务可让您实现时间点 块卷上的数据备份。然后,您可以将这些备份还原到新的 卷立即或稍后。您还可以使用该服务进行 在没有应用程序的情况下对启动卷进行时间点、崩溃一致性备份 中断或停机。启动卷备份功能与块相同 卷备份功能。

  • 安全策略

    使用策略限制谁可以访问您公司的 OCI 资源 以及他们如何访问它们。

  • 网络安全

    网络服务提供两个虚拟防火墙功能,它们使用 用于在数据包级别控制流量的安全规则:安全列表和网络安全组 (NSG)。NSG 由一组入口组成 以及仅适用于您选择的一组 VNIC 的出口安全规则 单个VCN。例如,您可以选择充当 VCN 中多层应用程序的 Web 层中的 Web 服务器。

    NSG 安全规则的功能与安全列表规则相同。 但是,对于 NSG 安全规则的源或目标,可以指定 NSG 而不是 CIDR 块。因此,您可以轻松编写安全规则来控制 同一 VCN 中两个 NSG 之间的流量或单个 NSG 内的流量。什么时候 创建数据库系统时,可以指定一个或多个 NSG。你也可以 更新现有数据库系统以使用一个或多个 NSG。

    在这些示例中,实例显示为公有子网中的现有实例。 请考虑将它们放置在私有子网中以提高安全性。在这种情况下, 需要堡垒才能访问实例。


部署

此参考架构的 Terraform 代码可作为 Oracle 云基础设施资源中的示例堆栈提供 经理。您还可以从 GitHub 下载代码,并对其进行自定义以满足您的特定要求。


  • 使用 Oracle 云基础设施资源中的示例堆栈进行部署 经理:

     1.选择要部署堆栈的区域,单击如果您尚未登录, 输入租户和用户凭据。  2.选择要部署堆栈的区域,3按照屏幕上的提示和说明创建堆栈。4创建堆栈后,单击地形操作,然后选择计划。5等待作业完成,然后查看计划。要进行任何更改,请返回堆栈详细信息页面,单击编辑堆栈,然后进行所需的更改。然后,再次运行计划”操作。6.如果不需要进一步更改,请返回到堆栈详细信息页面,单击地形操作,然后选择应用


  • 使用 GitHub 中的 Terraform 代码进行部署:
    1. 转到 GitHub
    2. 将存储库克隆或下载到本地计算机。
    3. 按照文档中的说明进行操作。README
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论