如何在 AWS Elastic Beanstalk 上安裝 WordPress?
在 Elastic Beanstalk 上部署 WordPress
什麼是 AWS Elastic Beanstalk?Amazon Web Services (AWS) 是一個龐大的公共雲,提供廣泛的雲計算服務,每項服務都旨在完成不同的任務。
AWS Elastic Beanstalk 就是其中之一;它旨在在 AWS 雲中快速安裝應用程序,這比處理普通雲計算內容要簡單。AWS Elastic Beanstalk 的使用限制更少,控制更多。
我們可以將 WordPress 等應用程序上傳到 Elastic Beanstalk,以高效、可擴展地執行它們。採用 Beanstalk 的另一個優點是,它通過自動化應用程序監控和處理存儲負載平衡和擴展等其他元素來減少管理工作。
在構建或開發應用程序時,可以安裝代碼的平台有 Go、Java、.NET、Node.js、PHP、Python 和 Ruby。Docker 也是一種替代方案。
除了 AWS 管理控制台之外,還可以使用 AWS 命令行界面 (AWS CLI) 或 eb(專為 Elastic Beanstalk 創建的高級 CLI)來管理或安裝應用程序。
這裡我們專門討論AWS Elastic Beanstalk上的WordPress安裝。
使用 Elastic Beanstalk + RDS 設置高度可用的 WordPress 網站
安裝過程需要將 AWS 文檔頁面以及數百個 Stack Overflow 想法拼湊在一起。為了節省時間,請使用以下過程在 AWS 上創建高度可用的 WordPress 網站。
設置 Elastic Beanstalk
要設置 Elastic Beanstalk,請按照以下步驟操作:
-
使用此鏈接,我們可以啟動 EBS 應用程序:
https://console.aws.amazon.com/elasticbeanstalk/home#/newApplication?environmentType=LoadBalanced
。 -
我們可以在應用程序名稱、環境名稱和域(可選擇留空)等字段中輸入任何必要的值。
-
選擇 PHP 作為平台。截至撰寫本文時,Platform Branch 建議並支持選擇在 64 位 Amazon Linux 2 上運行的 PHP 8.0。繼續使用平台版本作為推薦版本。
-
保留為應用程序代碼選擇的示例應用程序。
-
選擇查看並啟動。
-
檢查其餘的 EBS 替代方案。
-
選擇創建應用程序。
-
我們搭建好環境後,增加實例類型。此選項之後隨時可以更改。更改縮放觸發器部分以反映以下內容:
Metric: CPUUtilization Statistic: Average Unit: Percent Period: 1 Min Breach duration: 1 Min Upper threshold: 10 Percent Scale up increment: 3 EC2 instances Lower threshold: 1 Percent Scale down increment: -1 EC2 instances
-
在軟件選項中將內存限制設置為 2G。
-
更改滾動更新和部署的設置。至少將部署策略更改為滾動,並將滾動更新類型更改為基於運行狀況滾動。
設置 RDS
我們必須設置 RDS 以在 elastic beanstalk 上部署 wordpress。請按照以下步驟設置 RDS:
-
使用以下鏈接啟動數據庫:https://console.aws.amazon.com/rds/home#launch-dbinstance:gdb=false;s3-import=false。
-
選擇 Amazon Aurora 作為引擎類型(版本:與 MySQL 兼容的 Amazon Aurora)。
-
在數據庫集群標識設置中,輸入數據庫的名稱。
-
編輯主用戶名和密碼,並始終記下配置設置以供將來配置。
-
將數據庫實例類大小更改為可以處理工作負載的大小。
-
選擇“多可用區部署”下的在不同可用區中創建 Aurora 副本或讀取器節點。
-
展開其他配置並輸入初始數據庫的名稱。
-
選擇創建數據庫。
設置 RDS
在 Elastic beanstalk 上部署 WordPress 的下一個最重要的步驟是:
1.下載並解壓最新版本的WordPress。
~$ curl https://wordpress.org/wordpress-4.9.5.tar.gz -o wordpress.tar.gz ~$ tar -xvf wordpress.tar.gz ~$ mv wordpress wordpress-beanstalk ~$ cd wordpress-beanstalk
2.製作WordPress專用的Nginx配置文件。
(from the root wordpress-beanstalk directory) ~$ nano .platform/nginx/conf.d/elasticbeanstalk/nginx.confPaste in the following content:location = /favicon.ico { log_not_found off; access_log off; }location = /robots.txt { allow all; log_not_found off; access_log off; }location / { index index.php index.html index.htm; try_files $uri $uri/ /index.php?$args; }location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ { expires max; log_not_found off; }
3.第三,我們必須設置 wp-config.php 文件。要設置此類型,請輸入以下命令:
(from the root wordpress-beanstalk directory) ~$ nano wp-config.phpPaste in the following content:?php define('DB_NAME', $_SERVER['RDS_DB_NAME']); define('DB_USER', $_SERVER['RDS_USERNAME']); define('DB_PASSWORD', $_SERVER['RDS_PASSWORD']); define('DB_HOST', $_SERVER['RDS_HOSTNAME'] . ':' . $_SERVER['RDS_PORT']); define('DB_CHARSET', 'utf8'); define('DB_COLLATE', ''); define('AUTH_KEY', $_SERVER['AUTH_KEY']); define('SECURE_AUTH_KEY', $_SERVER['SECURE_AUTH_KEY']); define('LOGGED_IN_KEY', $_SERVER['LOGGED_IN_KEY']); define('NONCE_KEY', $_SERVER['NONCE_KEY']); define('AUTH_SALT', $_SERVER['AUTH_SALT']); define('SECURE_AUTH_SALT', $_SERVER['SECURE_AUTH_SALT']); define('LOGGED_IN_SALT', $_SERVER['LOGGED_IN_SALT']); define('NONCE_SALT', $_SERVER['NONCE_SALT']); $table_prefix = 'wp_'; define('WP_DEBUG', false); if ( !defined('ABSPATH') ) define('ABSPATH', dirname(__FILE__) . '/'); require_once(ABSPATH . 'wp-settings.php');
4.在 .gitignore 文件中包含以下內容。
# Elastic Beanstalk Files .elasticbeanstalk/* !.elasticbeanstalk/*.cfg.yml !.elasticbeanstalk/config.yml !.elasticbeanstalk/*.global.yml
將RDS數據庫連接到EBS
-
首先,找到我們之前創建的EBS環境。
-
從左側邊欄中選擇“配置”,然後從“軟件”類別中選擇“編輯”。
-
在環境屬性部分中,定義如下所示的變量:
要發現所需的值,請轉到我們之前創建的RDS 集群(https://console.aws.amazon.com/rds/home -> 選擇數據庫實例-> 選擇比我們生成的讀取器和寫入器高一級的集群)。
RDS_HOSTNAME - On the Connectivity & security tab, copy the "Writer" EndpointRDS_PORT - On the Connectivity & security tab, copy the "Writer" PortRDS_DB_NAME - On the Configuration tab, copy the DB NameRDS_USERNAME - On the Configuration tab, copy the Master usernameRDS_PASSWORD - Cannot be copied from the RDS Console. We have made a note of this password when launching the database. To generate the following:AUTH_KEY SECURE_AUTH_KEY LOGGED_IN_KEY NONCE_KEY AUTH_SALT SECURE_AUTH_SALT LOGGED_IN_SALT NONCE_SALT
在 EBS 上啟動 WordPress 存儲庫
在完成 WordPress 安裝的所有配置後,我們已經成功設置了 WordPress 網站。
先決條件 — 如果我們之前沒有安裝 EB CLI,請安裝。
-
從本地存儲庫中,我們可以對其進行設置,在終端中運行 eb init。
-
在第一個“選擇默認區域”步驟中選擇EBS環境所在的區域。
-
在“選擇要使用的應用程序”階段選擇您在前面的步驟中生成的應用程序。
-
在“您想繼續使用 CodeCommit 嗎?”中輸入 no。步。
-
執行 elb 部署。
這是配置過程的最後一步。
\需要類似查詢方面的幫助嗎?[我們隨時為您提供幫助]
結論
最後,我們已經學會瞭如何在WordPress 支持服務的幫助下設置 RDS 和 WordPress 安裝配置,從而在 Elastic beanstalk 上部署 WordPress 。
防止您的服務器崩潰!
再也不會因為服務器速度差而失去客戶了!讓我們幫助您。
我們的服務器專家將全天候 24/7 監控和維護您的服務器,使其保持閃電般的快速和安全。