设置连接到云中的 MySQL Database 的 WordPress CMS
在不需要编程或数据库管理学位的情况下,在云中创建和管理现代网站。利用 WordPress 平台的用户友好功能以及在 Oracle Cloud Infrastructure 中托管 Web 页和博客的弹性和成本效益。
体系结构
此体系结构在 Oracle Cloud Infrastructure (OCI) 中部署 WordPress CMS 和 Oracle MySQL 数据库服务。
可以在单个节点中部署 WordPress,也可以作为多节点 HA 配置的一部分。此参考体系结构包括与两个配置兼容的 Terraform 自动化。
对于复杂多节点高可用性环境,请在具有主和备用负载平衡器的多个容错域中部署 WordPress 节点,并为所有 WordPress 节点部署共享 Oracle Cloud Infrastructure File Storage 服务(托管 NFS 服务)。
下图说明了此多节点体系结构。

插图 oci-arch-wordpress-mds.png 的说明
oci-arch-wordpress-mds-oracle.zip
配置多节点环境时,可以执行以下操作:
- 定义 WordPress 层节点数。
- 部署公共负载平衡器并隐藏专用子网中的 WordPress 节点。
- 部署堡垒主机或堡垒服务以访问专用资源。
- 对 WordPress 内容使用带有共享 NFS 存储的 Oracle Cloud Infrastructure 文件存储服务(在节点之间共享上载、插件和主题)。
下图说明了简单的单节点体系结构。它包括一个轻量级部署,它可能适用于学习目的或作为概念证明。

插图 deploy-wordpress-cms-mysql-dbs.png 的说明
deploy-wordpress-cms-mysql-dbs-oracle.zip
体系结构具有以下部分或全部组件:
- 区域
Oracle Cloud Infrastructure 区域是一个本地化地理区域,包含一个或多个数据中心,称为可用性域。区域独立于其他区域,其距离很大(跨越国家或甚至大陆)可以分开。
- 可用性域
可用性域是区域内的独立独立数据中心。每个可用性域中的物理资源都与其他可用性域中的资源隔离,这些资源提供故障容差。可用性域不共享基础设施,例如电源、冷却或内部可用性域网络。因此,一个可用性域的故障不可能影响该区域中的其他可用性域。
- 故障域
故障域是可用性域内一组硬件和基础设施。每个可用性域都有三个容错域,具有独立电源和硬件。在多个容错域之间分配资源时,您的应用可以在容错域内承受物理服务器故障、系统维护和电源故障。
- 虚拟云网络 (VCN) 和子网
VCN 是在 Oracle Cloud Infrastructure 区域中设置的可自定义、软件定义的网络。与传统的数据中心网络一样,VCN 为您提供了对网络环境的完全控制。VCN 可以有多个非重叠 CIDR 块,您可以在创建 VCN 后更改这些块。您可以将 VCN 细分为子网,子网可以被限定为区域或可用性域。每个子网包含一系列与 VCN 中的其他子网不重叠的地址。您可以在创建后更改子网的大小。子网可以是公共的或专用的。
- Internet 网关
Internet 网关允许 VCN 中的公共子网与公共 Internet 之间的通信。
- 网络地址转换 (Network address translation, NAT) 网关
NAT 网关允许 VCN 中的专用资源访问互联网上的主机,而无需向传入的 Internet 连接公开这些资源。
- 网络安全组 (NSG)
NSG 充当云资源的虚拟防火墙。使用 Oracle Cloud Infrastructure 的零信任安全模型时,所有通信都将被拒绝,您可以控制 VCN 中的网络通信。NSG 包含一组入站和出站安全规则,这些规则仅适用于单个 VCN 中的一组指定 VNIC。
- 安全列表
对于每个子网,您可以创建安全规则来指定必须允许进出子网的源、目标和流量类型。
- Oracle MySQL 数据库服务
Oracle MySQL 数据库服务是完全托管的 Oracle Cloud Infrastructure (OCI) 数据库服务,开发人员可以快速开发和部署安全的云原生应用程序。MySQL Database Service 针对 OCI 进行了优化并专用于 OCI,它 100% 构建、管理和支持 OCI 和 MySQL 工程团队。
在此引用体系结构中,Oracle MySQL 数据库服务部署在虚拟机上,用于托管 WordPress 的内容信息。部署不在集群中。
- 文件存储
Oracle Cloud Infrastructure 文件存储服务提供了持久、可伸缩、安全的企业级网络文件系统。您可以从 VCN 中的任何裸金属、虚拟机或容器实例连接到文件存储服务文件系统。您还可以使用 Oracle Cloud Infrastructure FastConnect 和 IPSec VPN 从 VCN 外部访问文件系统。
- WordPress 内容管理系统 (CMS)
使用 WordPress CMS 可以构建完整博客站点或通用网站。此体系结构使用常规计算实例部署 WordPress CMS 引擎。
- 负载平衡器
Oracle Cloud Infrastructure Load Balancing服务提供从单个入口点到后端多个服务器的自动流量分配。
- 堡垒服务
Oracle Cloud Infrastructure 基础功能提供对不具有公共端点并且需要严格的资源访问控制(例如裸金属和虚拟机、Oracle MySQL Database Service、Autonomous Transaction Processing (ATP)、Oracle Container Engine for Kubernetes (OKE) 以及任何其他允许安全 Shell 协议 (Secure Shell Protocol, SSH) 访问的资源的受限时间限制的安全访问。通过 Oracle Cloud Infrastructure 基础服务,您可以在不部署和维护跳转主机的情况下启用对专用主机的访问。此外,通过基于身份的权限以及集中、审计和有时限的 SSH 会话,可以改善安全状况。Oracle Cloud Infrastructure 堡垒消除了公共 IP 对堡垒访问的需求,在提供远程访问时消除了麻烦和潜在攻击面。
- 计算
通过 Oracle Cloud Infrastructure Compute 服务,您可以在云中预配和管理计算主机。您可以使用配置启动计算实例,以满足您的 CPU、内存、网络带宽和存储资源需求。创建计算实例后,您可以安全地访问它,重新启动,附加和分离卷,并在不再需要时终止。
建议
- VCN
创建 VCN 时,根据计划附加到 VCN 中子网的资源数确定所需的 CIDR 块数和每个块的大小。使用标准专用 IP 地址空间内的 CIDR 块。
选择不与您要设置专用连接的任何其他网络(在 Oracle Cloud Infrastructure、内部部署数据中心或其他云提供商中)重叠的 CIDR 块。
创建 VCN 后,可以更改、添加和删除其 CIDR 块。
设计子网时,请考虑流量和安全要求。将特定层或角色中的所有资源附加到可用作安全边界的同一子网。
- 安全列表
使用安全列表定义适用于整个子网的入站和出站规则。
- 计算形状
此体系结构使用带有 WordPress CMS VM.Standard2.1 形状的 Oracle Linux 7 .8 OS 映像。如果应用程序的资源需求不同,则可以选择其他配置。
- Oracle MySQL 数据库服务
在此体系结构中,WordPress CMS 将关系数据存储在 Oracle MySQL 数据库服务中。我们建议使用最新版本。
考虑事项
在 Oracle Cloud 中部署 WordPress 时,请考虑以下各项以获得可扩展性、可用性和备份:
- WordPress CMS 可扩展性
您可以使用实例池和自动缩放功能缩放 WordPress CMS。
使用实例池可以根据同一区域中的相同配置预配和创建多个计算实例。
自动缩放允许您根据性能度量(例如 CPU 占用率)自动调整实例池中的计算实例数。自动扩展可帮助您在高需求期间为用户提供一致的性能,并帮助您在低需求期间降低成本。
- Oracle MySQL 数据库服务可扩展性
根据计划工作量为 Oracle MySQL 数据库服务选择计算机的形状。
- 应用程序可用性
故障域提供可用性域中的最佳弹性。如果需要更高的可用性,请考虑使用多个可用性域或多个区域。
- Oracle MySQL 数据库服务备份
MySQL Database 服务支持两种类型的备份:完全备份数据库系统中包含的所有数据,以及仅增量备份自上次完全备份以来已添加或更改的数据。备份通过以下方式运行:
-
手动:控制台中的操作或通过 API 发出的请求将启动备份。手动备份最少可以保留一天,最多可以保留 365 天。
-
自动:自动调度的备份在用户选择时运行,无需任何必需的交互。自动备份将保留一至 35 天。默认保留值为七天。定义后,无法编辑自动备份的保留期
使用 Oracle Cloud Infrastructure Block Volumes 服务可以对块存储卷上的数据进行时间点备份。然后,您可以立即或稍后将这些备份还原到新卷。
您还可以使用该服务对引导卷进行时间点、崩溃兼容的备份,而无需应用程序中断或停机。引导卷备份功能与块卷备份功能相同。
-
- 安全策略
使用策略限制谁可以访问贵公司拥有的 Oracle Cloud Infrastructure (OCI) 资源以及如何访问这些资源。
- 网络安全性
网络服务提供了两个虚拟防火墙功能,这些功能使用安全规则来控制包级别的通信:安全列表和网络安全组 (Network Security Group, NSG)。NSG 包含一组入站和出站安全规则,这些规则仅适用于您在单个 VCN 中选择的一组 VNIC。例如,您可以选择在 VCN 的多层应用程序的 Web 层中充当 Web 服务器的所有计算实例。
NSG 安全规则的功能与安全列表规则相同。但是,对于 NSG 安全规则的源或目标,可以指定 NSG 而不是 CIDR 块。因此,您可以轻松地编写安全规则来控制同一 VCN 中的两个 NSG 之间的通信或单个 NSG 内的通信。创建数据库系统时,可以指定一个或多个 NSG。您还可以更新现有数据库系统以使用一个或多个 NSG。
部署
GitHub 上提供了此引用体系结构的 Terraform 代码。单击一次即可将代码拉入 Oracle Cloud Infrastructure Resource Manager,创建堆栈并部署该堆栈。或者,您可以使用 Terraform CLI 将代码从 GitHub 下载到计算机,定制代码并部署体系结构。
- 使用 Oracle Cloud Infrastructure Resource Manager 中的示例堆栈进行部署:
- 在 GitHub 中使用 Terraform 代码进行部署:
- 转到 GitHub。
- 将资料档案库克隆或下载到本地计算机。
- 按照
README文档中的说明操作。
- 使用本教程进行部署,使用 MySQL 数据库在 Oracle Linux 上安装 WordPress CMS。