欢迎访问深圳敏捷云计算科技有限公司!

OCI 在云端搭建连接至MySQL数据库的WordPress CMS

2024-04-30 原创文章

在云中创建和管理现代网站,无需具备编程或数据库管理的学位。利用WordPress平台的用户友好特性以及在Oracle云基础设施托管您的网页和博客的弹性和成本优势。

架构

此架构在Oracle云基础设施(OCI)中部署了WordPress CMS和Oracle MySQL数据库服务。

您可以在单节点中部署WordPress,或作为多节点高可用性(HA)配置的一部分。此参考架构包括与两种配置兼容的Terraform自动化。

对于复杂的多节点高可用性环境,在多个故障域中部署WordPress节点,配备主负载均衡器和备用负载均衡器以及共享的Oracle云基础设施文件存储服务(托管NFS服务),供所有WordPress节点使用。

以下图表展示了这种多节点架构。

在配置多节点环境时,您可以执行以下操作:

定义WordPress层节点的数量。

部署公共负载均衡器,并将WordPress节点隐藏在私有子网中。

部署堡垒主机或堡垒服务以访问私有资源。

使用Oracle云基础设施文件存储服务,通过共享NFS存储为WordPress内容(共享上传、插件和主题之间的节点)。

以下图表展示了一个简单的单节点架构。它由一个轻量级部署组成,适用于学习目的或作为概念验证。

架构具有以下部分或全部组件:

区域

Oracle云基础设施区域是一个地理区域,包含一个或多个称为可用性域的数据中心。区域与其他区域独立,它们之间可以相隔很远的距离(跨越国家甚至大陆)。

可用性域

可用性域是区域内独立的、独立的数据中心。每个可用性域中的物理资源与其他可用性域的资源隔离,这提供了容错能力。可用性域不共享基础设施,如电力或冷却系统,或内部可用性域网络。因此,一个可用性域的故障不太可能影响该区域内的其他可用性域。

故障域

故障域是可用性域内硬件和基础设施的分组。每个可用性域有三个故障域,它们拥有独立的电力和硬件。当您将资源分布在多个故障域中时,您的应用程序可以容忍物理服务器故障、系统维护和故障域内的电力故障。

虚拟云网络(VCN)和子网

VCN是一个可定制的、软件定义的网络,您在Oracle云基础设施区域中设置。像传统数据中心网络一样,VCN让您完全控制您的网络环境。VCN可以拥有多个不重叠的CIDR块,您可以在创建VCN后更改这些块。您可以将VCN分割成子网,这些子网可以范围到一个区域或到一个可用性域。每个子网由不与VCN中其他子网重叠的连续地址范围组成。您可以在创建后更改子网的大小。子网可以是公共的或私有的。

互联网网关

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

网络地址转换(NAT)网关

NAT网关使VCN中的私有资源能够访问互联网上的主机,而不将这些资源暴露给来自互联网的入站连接。

网络安全组(NSG)

NSG充当您云资源的虚拟防火墙。通过Oracle云基础设施的零信任安全模型,所有流量默认被拒绝,您可以控制VCN内的网络流量。NSG由一组入站和出站安全规则组成,这些规则仅适用于单个VCN中指定的一组VNIC。

安全列表

对于每个子网,您可以创建安全规则,指定源、目的地和必须允许进出子网的流量类型。

Oracle MySQL数据库服务

Oracle MySQL数据库服务是一个完全托管的Oracle云基础设施(OCI)数据库服务,让开发者可以快速开发和部署安全的、云原生应用程序。专为OCI优化并且仅在OCI中可用,MySQL数据库服务由OCI和MySQL工程团队100%构建、管理和支持。

在此参考架构中,Oracle MySQL数据库服务部署在虚拟机上,用于托管WordPress的内容信息。部署不是在集群中。

文件存储

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

WordPress内容管理系统(CMS)

WordPress CMS使您能够构建完整的博客站点或通用网站。此架构使用常规计算实例部署WordPress CMS引擎。

负载均衡器

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

堡垒服务

Oracle云基础设施堡垒提供对没有公共端点且需要严格资源访问控制的资源的受限和时限安全访问,例如裸机和虚拟机、Oracle MySQL数据库服务、自治事务处理(ATP)、Oracle容器引擎(OKE)以及任何其他允许安全外壳协议(SSH)访问的资源。使用Oracle云基础设施堡垒服务,您可以在不部署和维护跳板主机的情况下启用对私有主机的访问。此外,您可以通过基于身份的权限和集中、审核和时限的SSH会话获得改善的安全态势。Oracle云基础设施堡垒服务消除了堡垒访问的公共IP的需要,消除了提供远程访问时的麻烦和潜在攻击面。

计算

Oracle云基础设施计算服务使您能够在云中配置和管理计算主机。您可以启动计算实例,具有满足您的CPU、内存、网络带宽和存储资源需求的形状。创建计算实例后,您可以安全地访问它、重启它、附加和分离卷,并在不再需要时终止它。

               

推荐

使用以下建议作为部署WordPress的起点。您的需求可能与此处描述的架构不同。

VCN

创建VCN时,根据您计划连接到VCN子网中的资源数量,确定所需CIDR块的数量及每个块的大小。使用标准私有IP地址空间内的CIDR块。

选择不与任何您打算建立私有连接的其他网络(在Oracle云基础设施、您的本地数据中心或另一个云提供商)重叠的CIDR块。

创建VCN后,您可以更改、添加和移除其CIDR块。

设计子网时,考虑您的流量流动和安全需求。将特定层或角色内的所有资源连接到同一子网,这可以作为安全边界。

安全列表

使用安全列表定义适用于整个子网的入站和出站规则。

计算形状

本架构使用Oracle Linux 7.8 OS镜像和VM.Standard2.1形状部署WordPress CMS。如果您的应用程序的资源需求不同,您可以选择不同的形状。

Oracle MySQL数据库服务

在此架构中,WordPress CMS将关系数据存储在Oracle MySQL数据库服务中。我们推荐使用最新版本。

部署WordPress时,在Oracle云中考虑以下因素以实现可扩展性、可用性和备份:

WordPress CMS可扩展性

您可以通过使用实例池和自动扩展功能来扩展WordPress CMS。

实例池允许您基于相同配置在同一区域内预置和创建多个计算实例。

自动扩展允许您根据性能指标(如CPU使用率)自动调整实例池中的计算实例数量。自动扩展在高需求期间帮助您为用户提供一致的性能,并在低需求期间帮助您降低成本。

Oracle MySQL数据库服务可扩展性

根据计划的工作负载选择Oracle MySQL数据库服务的机器形状。

应用可用性

故障域在可用性域内提供最佳的弹性。如果您需要更高的可用性,考虑使用多个可用性域或多个区域。

Oracle MySQL数据库服务备份

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

手动:通过控制台操作或通过API发出请求来启动备份。手动备份的保留时间最少为一天,最多为365天。

自动:自动安排的备份在用户选择的时间运行,无需任何交互。自动备份的保留时间在一到35天之间。默认保留值为七天。定义后,您不能编辑自动备份的保留期限。

计算备份

Oracle云基础设施块卷服务允许您对块卷上的数据进行时间点备份。然后,您可以立即或稍后将这些备份恢复到新的卷中。

您还可以使用该服务进行时间点、一致性崩溃的启动卷备份,而不中断应用程序或停机。启动卷备份功能与块卷备份功能相同。

安全策略

使用策略来限制谁可以访问您公司拥有的Oracle云基础设施(OCI)资源以及如何访问。

网络安全

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

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

                     

部署

此参考架构的Terraform代码可在GitHub上获得。您可以通过单击将代码拉入Oracle云基础设施资源管理器,创建堆栈并部署它。或者,您可以从GitHub下载代码到您的计算机,自定义代码,并使用Terraform CLI部署架构。

使用Oracle云基础设施资源管理器中的示例堆栈部署:

a. 单击,如果您还未登录,请输入租户和用户凭证。

b. 查看并接受条款和条件。

c. 选择您希望部署堆栈的区域。

d. 按照屏幕上的提示和说明创建堆栈。

e. 创建堆栈后,单击Terraform操作,并选择计划。

f. 等待作业完成,并审查计划。

g. 如果需要进行任何更改,请返回到堆栈详情页面,单击编辑堆栈,并进行所需的更改。然后,再次运行计划操作。

h. 如果不需要进一步更改,请返回到堆栈详情页面,单击Terraform操作,并选择应用。

使用GitHub中的Terraform代码部署:

a. 前往GitHub。

b. 克隆或下载仓库到您的本地计算机。

c. 按照README文档中的说明操作。

使用教程部署,安装WordPress CMS在Oracle Linux上带MySQL数据库。

开启您的Oracle云之旅:Agilewing - 您的智能云服务伙伴

作为Oracle的高级合作伙伴,Agilewing正重新定义企业体验Oracle云服务的方式。借助于其简化的开户流程和一流的技术支持,Agilewing将复杂的开户和操作流程转化为一种轻松、直观的体验。通过我们的一站式服务,您可以迅速开启并享受Oracle云的全方位服务,从而无缝融入云端世界。

Agilewing的AgileCDN服务,结合了OCI的云基础服务,提供了一流的全球内容加速解决方案。超过2800个全球POP节点和7000个直连点的强大网络,确保了无论您的业务扩展到全球哪个角落,都能保持高效稳定的运行。

利用Oracle云的先进技术,Agilewing致力于简化云服务搭建、云迁移和业务出海的过程。我们的合作模式为客户带来经济高效的解决方案,使他们能够更加专注于核心业务,同时享受Oracle云的高性能和安全保障。

Oracle云服务,作为一个充满潜力的领域,以其高性能、安全性和全球统一的服务标准,为各类企业开启了新的机遇之门。通过Agilewing的专业服务,无论是个人用户还是企业,都能轻松步入这个充满技术革新和高效能的新时代。现在,就让Agilewing引领您开始探索Oracle云服务,打开一个全新的世界大门