在雲端中設定連線至 MySQL Database 的 WordPress CMS
在雲端建立及管理現代化的網站,無須進行程式設計或資料庫管理。利用 WordPress 平台的易記功能,以及代管 Oracle Cloud Infrastructure 網頁和部落格的彈性和成本效益。
架構
此架構會在 Oracle Cloud Infrastructure (OCI) 中部署 WordPress CMS 和 Oracle MySQL 資料庫服務。
您可以在單一節點或多重節點 HA 組態中部署 WordPress。此參照架構包含與這兩個組態相容的 Terraform 自動化功能。
若為複雜的多節點高可用性環境,請在多個具有主要和待命負載平衡器的容錯域中部署 WordPress 節點,並為所有 WordPress 節點部署共用 Oracle Cloud Infrastructure File Storage 服務 (受管理 NFS 服務)。
下圖說明此多重節點架構。

oci-arch-wordpress-mds.png 圖解描述
oci-arch-wordpress-mds-oracle.zip
您可以在配置多重節點環境時執行下列作業:
- 定義 WordPress 層節點的數目。
- 部署公用負載平衡器並隱藏專用子網路中的 WordPress 節點。
- 部署防禦主機或防禦主機服務以存取專用資源。
- 使用 Oracle Cloud Infrastructure File Storage 服務搭配 WordPress 內容的共用 NFS 儲存 (在節點之間共用上傳、Plugin 以及主題)。
下圖說明簡單的單一節點架構。它是由輕量型部署所組成,適合用於學習目的或作為概念證明。

deploy-wordpress-cms-mysql-dbs.png 圖解描述
deployment-wordpress-cms-mysql-dbs-oracle.zip
架構包含下列部分或所有元件:
- 區域
Oracle Cloud Infrastructure 區域是包含一或多個資料中心 (稱為可用性網域) 的本地化地理區域。區域與其他區域無關,而且大型距離可以區隔 (跨國家或甚至洲)。
- 可用性網域
可用性網域是區域內獨立的獨立資料中心。每個可用性網域中的實體資源都會與其他可用性網域中的資源隔離,以提供容錯。可用性網域不會共用基礎架構,例如電源、冷卻或內部可用性網域網路。因此,一個可用性網域的失敗並不會影響區域中的其他可用性網域。
- 容錯域
容錯域是可用性網域內的一組硬體和基礎設施。每個可用性網域都有三個具有獨立電源和硬體的容錯域。當您將資源分配到多個容錯域時,應用程式可能會容許容錯域內的實體伺服器故障、系統維護和電源故障。
- 虛擬雲端網路 (VCN) 和子網路
VCN 是您在 Oracle Cloud Infrastructure 區域中設定的可自訂軟體定義網路。VCN 就像傳統資料中心網路一樣,可讓您完全控制網路環境。VCN 可以有多個非重疊的 CIDR 區塊,供您在建立 VCN 之後變更。您可以將 VCN 區隔為子網路,子網路範圍可為區域或可用性網域。每個子網路均包含一個未與 VCN 中其他子網路重疊的連續位址範圍。您可以在建立子網路之後變更子網路的大小。子網路可以是公用或專用。
- 網際網路閘道
網際網路閘道可讓 VCN 中的公用子網路與公用網際網路之間的流量。
- 網路位址轉譯 (NAT) 閘道
NAT 閘道可讓 VCN 中的專用資源存取網際網路上的主機,而不會向內送網際網路連線暴露這些資源。
- 網路安全群組 (NSG)
NSG 可作為您雲端資源的虛擬防火牆。使用 Oracle Cloud Infrastructure 的零軌跡安全模型時,所有流量都會被拒絕,您可以控制 VCN 內的網路流量。NSG 包含一組傳入和傳出安全規則,僅適用於單一 VCN 中的一組指定 VNIC。
- 安全清單
您可以為每個子網路建立安全規則,以指定子網路中必須允許的來源、目的地以及流量類型。
- Oracle MySQL 資料庫服務
Oracle MySQL Database Service 是一項完全受管理的 Oracle Cloud Infrastructure (OCI) 資料庫服務,可讓開發人員快速開發及部署安全的雲端原生應用程式。OCI 中專用的最佳化 MySQL Database 服務是由 OCI 和 MySQL 工程小組所打造、管理和支援。
在此參照架構中,「Oracle MySQL 資料庫服務」會建置在虛擬機器上,並用來代管 WordPress 的內容資訊。部署不在叢集中。
- 檔案儲存
Oracle Cloud Infrastructure File Storage 服務提供持續、可擴充、安全的企業級網路檔案系統。您可以從 VCN 中的任何裸機、虛擬機器或容器執行處理連線至檔案儲存服務檔案系統。您也可以使用 Oracle Cloud Infrastructure FastConnect 和 IPSec VPN,從 VCN 外部存取檔案系統。
- WordPress 內容管理系統 (CMS)
WordPress CMS 可讓您建置完整的低的部落格網站或一般用途的網站。此架構使用一般運算執行處理來部署 WordPress CMS 引擎。
- 負載平衡器
Oracle Cloud Infrastructure Load Balancing 服務提供自動化的流量分佈,從單一進入點到後端的多部伺服器。
- 防禦主機服務
Oracle Cloud Infrastructure 防禦主機針對沒有公用端點且需要嚴格資源存取控制的資源(例如裸機和虛擬機器、Oracle MySQL 資料庫服務、自治式異動處理 (ATP)、Oracle Container Engine for Kubernetes (OKE) 以及允許安全 Shell 協定 (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 區塊。
設計子網路時,請考量您的流量和安全需求。將特定層或角色內的所有資源連附至可作為安全界限的相同子網路。
- 安全清單
您可以使用安全清單來定義套用至整個子網路的傳入和傳出規則。
- 運算資源配置
此架構使用 Oracle Linux 7。8 作業系統映像檔搭配 WordPress CMS 的 VM.Standard2.1 資源配置。如果您的應用程式資源需求不同,您可以選擇不同的形狀。
- Oracle MySQL 資料庫服務
在此架構中,WordPress CMS 會將關聯式資料儲存在 Oracle MySQL Database Service 中。我們建議使用最新版本。
考量
在 Oracle Cloud 中部署 WordPress 時,請考量下列各項以瞭解擴展性、可用性和備份:
- WordPress CMS 擴展性
您可以使用例項集區和自動調整功能來調整 WordPress CMS。
執行處理集區可讓您根據相同區域中的相同組態,佈建及建立多個運算執行處理。
自動調整功能可讓您根據效能測量結果 (例如 CPU 使用率),自動調整執行處理集區中的運算執行處理數目。自動調整可協助您為高需求期間的使用者提供一致的效能,並協助您降低低需求期間的成本。
- Oracle MySQL 資料庫服務擴展性
根據計畫的工作負載選擇您「Oracle MySQL 資料庫服務」的機器資源配置。
- 應用程式可用性
容錯域提供可用性網域內的最佳復原能力。如果您需要較高的可用性,請考慮使用多個可用性網域或多個區域。
- Oracle MySQL Database Service 備份
MySQL Database Service 支援兩種類型的備份:完整備份資料庫系統中所含的所有資料,以及僅增量備份自上次完整備份後新增或變更的資料。備份的執行方式如下:
-
手動:主控台中的動作或透過 API 提出的要求會起始備份。手動備份最少可保留一天,最多可保留 365 天。
-
自動:自動執行排定的備份,而不需要在使用者選擇時進行任何必要的互動。自動備份會保留一到 35 天之間。預設的保留值為七天。定義之後,您就無法編輯自動備份的保留期間
Oracle Cloud Infrastructure Block Volumes 服務可讓您建立區塊磁碟區資料的時間點備份。然後,您可以立即或稍後將這些備份回復至新的磁碟區。
您也可以使用服務來建立開機磁碟區的時間點、當機一致的備份,而不需要應用程式中斷或停止工作。開機磁碟區備份功能與區塊磁碟區備份功能相同。
-
- 安全政策
使用原則來限制誰可以存取您公司擁有的 Oracle Cloud Infrastructure (OCI) 資源和存取方式。
- 網路安全性
網路服務提供兩種虛擬防火牆功能,使用安全規則來控制封包層次的流量:安全清單和網路安全群組 (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 中的範例堆疊進行部署:
- 按一下
如果您尚未登入,請輸入租用戶和使用者證明資料。
- 檢閱並接受條款與條件。
- 選取要建置堆疊的區域。
- 依照畫面上的提示和指示建立堆疊。
- 建立堆疊之後,按一下 Terraform 動作,然後選取計畫。
- 等待工作完成,然後複查計畫。
若要進行任何變更,請返回「堆疊詳細資訊」頁面,按一下編輯堆疊,然後進行必要的變更。然後,再次執行「計畫」動作。
- 如果不需要進一步的變更,請返回「堆疊詳細資訊」頁面,按一下 Terraform 動作,然後選取套用。
- 按一下
- 使用 GitHub 中的 Terraform 程式碼進行部署:
- 移至 GitHub。
- 將儲存區域複製或下載到您的本機電腦。
- 依照
README
文件中的指示進行。
- 使用教學課程進行部署,將 Oracle Linux 上的 WordPress CMS 與 MySQL 資料庫一起安裝。