作者:Vamei 出處:http://www.cnblogs.com/vamei 歡迎轉載,也請保留這段聲明。謝謝!
這篇文章介紹如何在亞馬遜雲架設WordPress博客。最強的雲,加上最流行的建站工具,構成了最容易掌握的建站方式。
AWS
AWS (Amazon Web Service)是亞馬遜提供的雲服務。它是當今最強大的雲平台之一。近幾年獲得成功的多家網站,比如Pinterest, Foursquare, Airbnb, Spotify,都架設於該平台。AWS即將通過合作的方式,入華提供雲服務。這一新聞激起了不小的波瀾。多家國內雲服務商紛紛降價,以提前應對。AWS的影響力可見一斑。
為了使用亞馬遜雲,需要有一個亞馬遜賬戶。你可以使用已有的亞馬遜購物賬戶,也可以重新注冊。前往亞馬遜AWS官網:

AWS首頁
上面的"My Account / Console"菜單中,我的賬戶(My Account)主要包括各種賬戶和賬單信息。管理面板(Amazon Management Console)用於設置AWS的雲服務。
根據提示設置賬戶。你需要輸入信用卡信息,並有一個電話用於驗證。AWS有一個免費的計划可以選擇,可以先拿來試用:

注冊完成后,依然從"My Account / Console"菜單,進入管理面板(Amazon Management Console)。AWS的大部分雲服務都列在這里,包括我們后面要使用的EC2。

Management Console
EC2實例(instance)
EC2(Amazon Elastic Compute Cloud)是亞馬遜推出的“彈性雲”服務。一個EC2的實例(instance)提供了一個虛擬主機。你可以像使用一台電腦或者一台服務器那樣,使用這個虛擬主機。另一方面,EC2會根據你的實際消耗的計費,避免了主機的閑置耗費。隨着網站的增長,EC2可以很容易的拓展,支持更多的來訪。
對於新注冊的用戶,可以免費創建一個EC2實例
- 每月750小時主機時間
- 30G存儲空間
- 2百萬次IO
- 1GB閃存
- 15GB帶寬
收費細節可參考AWS計價。
我們將創建一個EC2實例,並在該虛擬主機上架設WordPress。從管理面板進入EC2頁面:

EC2頁面
這個頁面中,有四個標出的選項:
- 右上角的Singapore。你可以根據用戶的主要所在地,設置服務器地址。
- 左側的Instances。列出所有已經創建的實例。你可以進一步設置。
- 左側的Security Groups。用於控制不同IP地址對某個實例的訪問權限。
- 中間的Launch Instance按鈕,新建實例
新建實例,並跟隨指示設置。我選擇的是:
- 操作系統為Ubuntu 13.10, 64位
- t1,micro的實例類型 (instance type),這是可以免費使用的實例類型。
- 使用默認的用戶組 (security group),允許所有IP (0.0.0.0/0)訪問22端口,即SSH端口。
- 創建新的鍵值對(key pair),該鍵值對用於SSH訪問的加密。將生成的.pem文件保存為vamei.pem
- 啟動實例
在EC2頁面的菜單中選擇Instances,可以查看已經創建的所有實例及其相關屬性。左鍵點擊某個實例,可以從下面的窗口看到相關的信息,比如實例的域名和IP地址:

DNS與IP地址
訪問權限
這里主要說明Security Groups的訪問權限設置。我們剛才在創建實例中,允許所有的IP訪問SSH端口。由於我們的目的是架設一個WordPress的Web站點,我們還需要開放80和3389端口。
在EC2頁面選擇Security Groups,選擇實例所屬的用戶組。在下方的窗口中,選擇Inbound標簽頁,並增加規則,開放80和3389端口給所有人。
另一方面,我們的SSH端口依然是所有人都可以訪問。這並不安全。可以增加關於22號端口的規則(rule),限定可訪問的IP范圍。

設置訪問規則
Apply Rule Changes之后,這些規則就會生效。
你可以在Security Groups頁面下,創建多個群組。回到Instances頁面中,右鍵點擊相應實例,設置群組,讓一個實例歸屬於多個群組。
WordPress建站
現在多個方面都已經准備好。使用保存的vamei.pem密鑰,利用SSH登錄到虛擬主機。在Linux和Mac下,可以直接使用SSH命令:
ssh -i vamei.pem ubuntu@ec2-54-254-225-107.ap-southeast-1.compute.amazonaws.com
對於Ubuntu系統來說,用戶名為ubuntu。對於Amazon Linux系統,用戶名ec2-user。對於RHEL5, 用戶名可能是root,也可能是ec2-user。
在Windows下,可以使用SSH軟件登錄,比如PuTTY。
可參考使用SSH連接雲。登錄之后,你可以像使用單機Linux那樣使用亞馬遜雲。
架設WordPress博客的步驟,參考我上一篇文章WordPress快速建站。架設成功之后,可以根據實例的域名或者IP訪問。我的實例的域名是http://ec2-54-254-225-107.ap-southeast-1.compute.amazonaws.com/

*** 圖片上傳的權限問題:
上傳多媒體圖片時,有可能出現無權建立文件夾的提示。這時,要登陸EC2,修改相應的母文件夾wp-content的權限,讓apache的用戶名擁有寫入權限。apache服務器的用戶名可以使用下面命令找到:
apache2ctl -S
我的apache的用戶名為www-data,所在組為www-data。我的方式是將文件夾歸屬為www-data組,並讓歸屬組擁有寫入權限。
域名設置
AWS提供的域名是一個次級域名。我想申請一個正常的,易於人記憶的域名,比如vamei.me。到GoDaddy上搜索,這個域名還沒有人注冊,申請賬戶並注冊該域名。
(需要信用卡,每年支付十幾美元的費用)
域名注冊之后,需要將已經創建的實例和該域名連接。登錄GoDaddy的賬戶,訪問自己的賬戶。所有注冊的域名都在“Domain”一欄中列出。
點擊vamei.me一行的Launch按鈕,進入vamei.me域名的詳情頁面。選擇修改DNS Zone File。將一開始的A Host的IP地址,改為實例的IP地址:

修改Zone File
這一修改可能需要一些時間才能生效。生效后,可以通過vamei.me訪問我的博客了。
上面的域名設置成功之后,WordPress可以通過兩個域名訪問,即原有的AWS域名和GoDaddy注冊的域名。如果你嘗試點擊博客的不同頁面,會發現這些鏈接依然使用的是舊的域名。我們可以在WordPress中修改。
訪問自己的博客,並登錄。在Dashboard -> Setting -> General中,將WordPress Address和Site Address兩欄,修改為新的域名:

WordPress URL設置
在修改過程中,可能不小心輸錯,導致無法再次登錄博客。這種情況下,可以根據WordPress關於修改站點URL的指導處理。
總結
AWS雲讓曾經復雜而專業的服務器架設和管理變得簡單。正如上面看到的,借用AWS雲和WordPress這樣的神器,程序員可以十分鍾的時間搞定一個網站,簡單而迅速。
AWS雲是一個虛擬主機,當然不止架設博客這么簡單的功能。你可以在AWS雲上設置其它語言的Web框架,或者用作代理服務器,或者手機APP的后端,或者進行數據的分析和運算。總之,創造變得自由。
