WordPress安裝到Amazon EC2云主機(jī)教程

2011-05-18 22:02:55來源:作者:

在過去的10年,架設(shè)一個大型網(wǎng)站是一個非常艱巨的任務(wù),那可不是非專業(yè)人士可以完成的。現(xiàn)在好了,亞馬遜開放了他們的服務(wù)器架構(gòu),一切都改變了。 計算機(jī)硬件被移動到了云端,普通站長和開發(fā)人員都可以利用亞馬遜的

在過去的10年,架設(shè)一個大型網(wǎng)站是一個非常艱巨的任務(wù),那可不是非專業(yè)人士可以完成的,F(xiàn)在好了,亞馬遜開放了他們的服務(wù)器架構(gòu),一切都改變了。 計算機(jī)硬件被移動到了云端,普通站長和開發(fā)人員都可以利用亞馬遜的硬件和網(wǎng)絡(luò)資源來運(yùn)行自己的應(yīng)用。在本文,我們將把WordPress博客安裝到云端。
介紹

大多數(shù)博客和小型企業(yè)站點(diǎn)都托管在共享主機(jī)上面,通過固定的月租費(fèi)用來獲得預(yù)裝軟件和特定功能的使用。大多數(shù)情況下,共享主機(jī)是一個完美的解決方案,但是將你的博客安裝在Amazon云端有很多好處是值得我們考慮的:

    * 更容易升級更新. 在Amazon云端創(chuàng)建一個新服務(wù)器可以在數(shù)分鐘內(nèi)完成。使用該服務(wù),你的網(wǎng)站將有能力應(yīng)付突如其來的流量爆發(fā),比如你的博客文章被推薦到了Digg或者Reddit的首頁,你可以添加更多服務(wù)器并平衡負(fù)載。
    * 經(jīng)濟(jì)有效的大規(guī)模服務(wù)能力. 如果你的站點(diǎn)吸引了大量的用戶,并且最終超過了主機(jī)的正常伺服能力,Amazon Web Services 將給你一個經(jīng)濟(jì)有效的辦法來設(shè)計一個符合你的需求的網(wǎng)站服務(wù)架構(gòu),而你并不需要去雇傭一個完整的網(wǎng)絡(luò)運(yùn)作團(tuán)隊來安裝和管理網(wǎng)絡(luò)。這也是許多 Facebook開發(fā)人員選擇Amazon云服務(wù)器的原因。
    * 完善的安裝與設(shè)置. 在運(yùn)行WordPress時,這一點(diǎn)可能不是太重要,但如果你想使用PHP和MySQL之外的一些東西來建設(shè)你的下一個項目,則沒有必要請求主機(jī)公司的幫助,你可以就像在你自己的服務(wù)器上一樣安裝你所需要的軟件。

是否把WordPress站點(diǎn)放到亞馬遜云端由你的博客流量決定,并且你可以根據(jù)你的實(shí)際需求來決定服務(wù)器配置。通過下面的指南,你可以了解到怎樣迅速的在Amazon Cloud上設(shè)置和運(yùn)行服務(wù)器。

Step 1 – 創(chuàng)建 Amazon Web Services 賬戶

在使用亞馬遜云服務(wù)之前,你需要在 Amazon Web Services (AWS) 創(chuàng)建一個賬戶, 去 aws.amazon.com 點(diǎn)擊 “Sign Up Now” 注冊。

\

如果以前使用過Amazon.com的服務(wù),這里可以直接使用同樣的電子郵件和密碼來登陸AWS,當(dāng)然你也可以選擇“I am a new user.”創(chuàng)建一個新的用戶。

\

在注冊階段,需要輸入你的聯(lián)系信息和信用卡信息,以便Amazon向你收取服務(wù)的費(fèi)用。創(chuàng)建賬戶是免費(fèi)的,不過使用其他的服務(wù)則都是需要花錢的。

定價模型很簡單 - 以服務(wù)器運(yùn)行的小時為標(biāo)準(zhǔn)來收費(fèi),不過因為選項的不同,價格的計算可能比要復(fù)雜得多。當(dāng)你在Amazon上運(yùn)行你得站點(diǎn)時,在讓服務(wù)器運(yùn)行之前,最好仔細(xì)并重復(fù)檢查價格計算,免得在月底得時候被帳單嚇到。

我們的WordPress安裝不會超過一個小時,在我們完成前,我們會停止所有的服務(wù),所以完成本指南不會花我們一分錢。

Step 2 – 開啟你的第一臺服務(wù)器

服務(wù)器安裝包括兩個部分:

    * 托管在亞馬遜EC2(Amazon’s Elastic Computing Cloud)上面的應(yīng)用服務(wù)器,用來運(yùn)行Apache和PHP,將WordPress安裝在上面。
    * MySQL 數(shù)據(jù)庫將托管在亞馬遜RDS(Amazon’s Relational Database Service)。

另由一個便宜,但更麻煩的方案,你可以手動安裝MySQL服務(wù)器與PHP和Apache在同一個服務(wù)器。在本指南中,我決定使用亞馬遜的關(guān)系數(shù)據(jù)庫服務(wù),因為這更容易使用,并且,亞馬遜會考慮數(shù)據(jù)庫的備份和維護(hù),你沒有必要擔(dān)心附加的安全細(xì)節(jié)問題。

現(xiàn)在我們開始創(chuàng)建我們的第一個應(yīng)用服務(wù)器實(shí)例。

在 AWS Management Console 點(diǎn)擊EC2標(biāo)簽, 因為是第一次使用EC2服務(wù),你需要另外注冊該服務(wù),點(diǎn)擊 “Sign Up For Amazon EC2″ 按鈕開始:

\

特別步驟,Amazon需要打電話給你來驗證身份。整個過程自動進(jìn)行:驗證碼輸入正確后,會被重定向到下一個頁面。

\

在注冊過程完成后,返回到管理控制臺和EC2標(biāo)簽。你將看到下面的頁面,點(diǎn)擊 “Launch Instance” 按鈕。

\

網(wǎng)頁會彈出一個 Amazon Machine Images (AMIs) 的列表.

AMIs 是正在運(yùn)行的計算機(jī)的快照

多數(shù)計算機(jī)都包含了操作系統(tǒng)和其他一個基礎(chǔ)軟件,但是你還可以根據(jù)自己的需求創(chuàng)建更復(fù)雜的AMIs,甚至可以包含你的完整應(yīng)用。

我們選擇了最基本的選項:“Basic 32-bit Amazon Linux AMI 1.0.” 點(diǎn)擊 “Select” 進(jìn)入你選擇的AMI。

\ 

選擇了AMI之后,下一步就是選擇需要的硬件類型。根據(jù)選擇的32位或64位AMI,我們會看到不同的列表,32位的AMIs提供更便宜的選項。

作為測試,我們不需要太多的內(nèi)存或處理能力,因此我們開了一個微實(shí)例。選擇實(shí)例類型并點(diǎn)擊 “Continue.”

\

下一屏,采用默認(rèn)值就好,點(diǎn)擊 “Continue.”

\

當(dāng)你有多個不同規(guī)則的虛擬機(jī)后,你很容易會忘記每個機(jī)器的作用,你需要用大量的時間來查找正確的服務(wù)器。因此,對服務(wù)器的命名顯得非常重要,當(dāng)然在本指南中我們只運(yùn)行一個實(shí)例,所以名字就顯得不那么重要了。

\

下一步,你會被問到創(chuàng)建一個鍵值對文件來安全地連接到服務(wù)器。Key 代替了用SSH連接到機(jī)器的密碼。命名你的Key Pair File,點(diǎn)擊 “Create & Download your Key Pair.” 拷貝鍵值對文件到一個安全的位置 (如果你使用Mac OSX或者Linux,~/.ssh 是一個好位置)?截愇募,修改文件權(quán)限到400:

    chmod 400 wordpress_demo.pem

如果你使用Windows,你可以使用 PuTTY for SSH. PuTTY 使用它自己的鍵值格式(ppk),因此你需要使用Puttygen工具轉(zhuǎn)換key到ppk格式。

\

Key pair 創(chuàng)建之后,你會被要求在你的新機(jī)器上配置防火墻。默認(rèn)情況下,沒有人被允許連接到該機(jī)器 - 所有端口都是關(guān)閉的。我們打開了端口22(SSH)端口80(HTTP),我們能夠通過SSH配置機(jī)器并且從瀏覽器訪問博客。

\

繼續(xù),檢查配置,如果沒有發(fā)現(xiàn)任何不對,點(diǎn) “Launch.” 完成安裝

\

回到Dashboard,你會注意到新建實(shí)例的狀態(tài)顯示為 “pending,”,過幾分鐘后會顯示為 “running.” ,這就意味著服務(wù)器已經(jīng)啟動并開始運(yùn)行 - 你可以開始使用了。

\

服務(wù)器運(yùn)行后,你可以通過在防火墻中定義的端口來訪問。下面我們將通過SSH連接到服務(wù)器進(jìn)行Apache, PHP, MySQL的PHP擴(kuò)展,以及WordPress。

Step 3 – 安裝需要的服務(wù)器軟件

在實(shí)例名稱的右鍵菜單中,選擇 “Connect” ,彈出一個包含SSH命令的頁面窗口

\

登陸SSH的命令與下面的格式類似:

    ssh -i wordpress_demo.pem root@ec2-….compute-1.amazonaws.com

如果你把pem key保存在~/.ssh,你需要在命令中包含路徑。還有,你需要修改root用戶為ec2-user,亞馬遜不允許新的AMIs安裝用root用戶連接服務(wù)器。

\

登陸后,你就能像使用任何Linux主機(jī)一樣使用虛擬機(jī)。安裝軟件,我們用Yum安裝器來安裝Apache服務(wù)器,輸入下面的命令來安裝Apache:

    sudo yum install httpd

下一步,用以下命令安裝PHP:

    sudo yum install php

通過下面的命令安裝php-mysql擴(kuò)展:

    sudo yum install php-mysql

好了,安裝完成開始準(zhǔn)備測試Apache。用下面的命令啟動Apache(你可以用“stop”或“restart”來停止或重啟Apache):

    sudo /etc/init.d/httpd start

Web服務(wù)器啟動后,拷貝機(jī)器的URL到瀏覽器測試:

\

Step 4 – 創(chuàng)建數(shù)據(jù)庫機(jī)器

在安裝WordPress之前,我們需要一個數(shù)據(jù)庫。用RDS設(shè)置一個數(shù)據(jù)庫很容易,在AWS控制臺,點(diǎn)RDS標(biāo)簽,點(diǎn) “Sign Up For Amazon RDS” 開始安裝數(shù)據(jù)庫機(jī)器。

\

安裝完以后,回到AWS控制臺的RDS標(biāo)簽,點(diǎn)擊 “Launch DB Instance.” 啟動數(shù)據(jù)庫實(shí)例

\

在彈出窗口設(shè)置需要啟動的數(shù)據(jù)庫屬性,比如服務(wù)器實(shí)例,分配的存儲空間等。我們?yōu)閿?shù)據(jù)庫分配了5個G的空間,足夠測試用了。為數(shù)據(jù)庫服務(wù)器實(shí)例和根 用戶命名,我們使用“wordpress-db”作為數(shù)據(jù)庫服務(wù)器名,“root” / “rootpass”, 作為管理登陸。因為做測試,我們使用簡單好記的登陸名,但如果要考慮更安全的登陸,建議采用較復(fù)雜的命名。

\

數(shù)據(jù)庫服務(wù)器設(shè)置完成后,你會被要求在服務(wù)器上定義一個默認(rèn)的數(shù)據(jù)庫。數(shù)據(jù)庫名我們設(shè)置為“wordpress”

\

點(diǎn) Contiune 到下一步,你可以定義數(shù)據(jù)庫的備份設(shè)置,保留默認(rèn)值直接Continue進(jìn)入下一步。

\

驗證無誤后,點(diǎn) “Launch DB Instance.”

\

創(chuàng)建數(shù)據(jù)庫實(shí)例的時間比創(chuàng)建EC2實(shí)例的時間稍長一些,大約5分鐘左右以后,你就可以在instances標(biāo)簽看到狀態(tài)為有效 “available” 了。

\

點(diǎn)擊實(shí)例可以看到更多的數(shù)據(jù)信息,拷貝“endpoint”的值,這也就是我們用于wordpress安裝的數(shù)據(jù)庫服務(wù)器的URL。

\

在安裝WordPress之前還有一個步驟就是我們還需要為數(shù)據(jù)庫配置防火墻,以便應(yīng)用服務(wù)器能夠訪問它。

回到RDS標(biāo)簽,點(diǎn) “DB Security Groups.” ,在這兒你會看到?jīng)]有任何授權(quán)的應(yīng)用:

\

要讓應(yīng)用服務(wù)器訪問數(shù)據(jù)庫,我們需要授權(quán)它的安全組到數(shù)據(jù)庫的安全組。從“No Authorizations”下面的下拉列表中選擇 “EC2 Instance” ,并輸入安全組的名稱(“wordpress_app_server”)和你的Amazon Account ID

賬戶ID在AWS設(shè)置中是隱藏的,第一次點(diǎn)擊“Account”鏈接,然后點(diǎn) “Security Credentials” 就可以找到。

輸入需要的信息然后點(diǎn)“Add”,你就可以看到安全組已經(jīng)被授權(quán)了,現(xiàn)在可以開始安裝WordPress了。

\

Step 5 – 安裝WordPress

重新打開SSH連接到應(yīng)用服務(wù)器,下載WordPress到服務(wù)器,默認(rèn)情況下Apache配置HTML文件在 /var/www/html/目錄

    cd /var/www/html

    sudo chown ec2-user

    wget http://wordpress.org/latest.zip

    unzip latest.zip

安裝需要創(chuàng)建wp-config.php文件,用下面的命令修改wordpress目錄屬性:

    chmod o+w wordpress

在瀏覽器輸入URL路徑開始安裝wordpress

\

在wordpress數(shù)據(jù)庫設(shè)置頁面,我們的數(shù)據(jù)庫名是“wordpress”,Database Host一項填寫RDS實(shí)例的URL。

\

成功提交后,你的wordpress就成功安裝在亞馬遜云上了。

\

Step 6 - 停止所有服務(wù)

在本指南開始的時候我們提到過,AWS是按照使用的小時數(shù)來計費(fèi)的,所以在測試完成后確認(rèn)你不會有費(fèi)用支出,確認(rèn)停止所有的服務(wù)。

首先,停止EC2實(shí)例。如下圖所示:

\

停止數(shù)據(jù)庫也很容易,不過你不能重新恢復(fù)數(shù)據(jù)庫。幸運(yùn)的是你在停止數(shù)據(jù)庫的時候,可以選擇保存數(shù)據(jù)快照。你以后可以使用保存的快照數(shù)據(jù)重新創(chuàng)建數(shù)據(jù)庫安裝。

在RDS標(biāo)簽,右擊數(shù)據(jù)庫實(shí)例,選擇“Delete”刪除

\

好了,確定服務(wù)都關(guān)閉后,退出AWS控制臺,你的WordPress博客已經(jīng)無法訪問了。

原文: Deploy your WordPress Blog to the Cloud

翻譯:云主機(jī) - 如何部署WordPress到Amazon云端

贊助商鏈接: