作者:周光輝

在雲計算出現以前,大部分傳統互聯網的開發者的做法是自己購買服務器,尋找託管機房,自己安裝數據庫,服務器和數據庫的維護任務也由自己承擔。這些 做法給用户帶來了巨大的硬件成本以及人力成本。並且當數據庫出現一些疑難雜症或者硬件損壞導致數據丟失,很多用户都是束手無策,不得不花費更大的代價尋求 原廠或者第三方數據庫服務廠商的幫助。 《Disaster Recovery Journal 》有一項調查顯示,數據庫出現故障的原因分類當中,硬件/系統故障佔據了 49%, 人為維護不當導致的故障佔據了 36% 。

雲計算是什麼呢?簡單地講,雲計算就是把計算和存儲資源通過互聯網以公共服務的方式提供給用户,就像我們日常使用水電煤一樣。通過使用阿里雲的雲計 算服務,用户不再需要購買硬件,不需要尋找託管機房,而且也擺脱了維護數據庫和服務器的負擔,從而也減小了硬件/系統故障以及人為維護不當導致的故障概 率。並且構建網站的資源都可以按需購買,因此他們的硬件成本和人力成本將大大降低!

本文的主角是阿里雲的關係型數據庫服務 (RDS) 。通過使用 RDS,用户不需要擔心數據庫安全漏洞,阿里巴巴專業的 DBA 團隊會為用户做這些事情; 也不需要操心數據備份,只需要定義好備份策略,RDS 會自動為用户備份;更不用擔心硬件或者系統損壞導致數據庫宕機,RDS 提供了大於 99.95% 的可用 性。

任何使用 MySQL 、 SQLServer 數據庫的場景都可以遷移到 RDS 上來,比如:淘寶 ISV 開發的各種應用、 phpwind/Discuz 論壇、 WordPress 等。這些應用搬到雲端的大致步驟如下。

1 、在 aliyun.com 網站上購買阿里雲的雲服務器,並且開通阿里雲的 RDS 服務。

2 、應用遷移:把現有傳統網站系統的應用程序部署在雲服務器上。

3 、數據遷移:把現有數據庫的數據備份出來,上傳到雲服務器上面,然後數據導入到 RDS 中。

遷移有以下兩種模式。

1 、現有系統整體遷移:將原有系統停機,應用和數據同時遷移至雲端。 這種模式簡單,但會影響業務。

2 、漸進式部分遷移:原有系統不停機。在雲端部署好應用程序和數據庫,同時開發數據遷移程序,一個用户一個用户地遷移;當某個用户來訪問時,應用程序 先判斷這個用户的數據是在線下數據庫中還是在雲端,若在雲端則訪問 RDS,若在線下則訪問線下數據庫。 這種模式複雜並且有一定的開發工作量,但不影響業務的正常運行。

下面將以 WordPress 為例,採用現有系統整體遷移的方式描述如何將 WordPress 遷移到雲端,其他的應用遷移過程與此類似。 WordPress 是一種使用 PHP 語言和 MySQL 數據庫開發的開源、免費的 Blog(博客、網站) 引擎,用户可以在支持 PHP 和 MySQL 數據庫的服 務器上建立自己的 Blog 。 WordPress 插件眾多,易於擴充功能,安裝和使用都非常方便。目前 WordPress 已經成為主流的 Blog 搭建平台。 具體可以見 http://cn.WordPress.org/。

第一步:購買雲服務器和 RDS 服務

根據應用的架構和應用壓力在 http://www.aliyun.com 上 購買相應的雲服務器和 RDS 規格。購買之後可以看到你的雲服務器的 IP 地址以及 RDS 的連接地址以及用户名和密碼。在我的例子當中,雲服務器的 IP 地址為 42.120.125.186,RDS 的連接地址為 cloudcc.mysql.aliyun.com,數據庫名為 WordPress,用户名/密 碼:WordPress/WordPress,端口為 3306 。

第二步:應用遷移

登錄雲服務器安裝 Apache 並啓動 Apache 服務。 安裝 Apache 的步驟這裏不作介紹。 Apache 的安裝目錄在/usr/local/apache2 。在 http://cn.WordPress.org/上面下載 WordPress 壓縮包,將這個壓縮包上傳到雲服務器的/usr/local/apache2/htdocs 目錄下,並解壓生成 WordPress 目錄。

打開瀏覽器,輸入 http://42.120.125.186/WordPress,瀏覽器中顯示如圖 1 所示。

圖 1 瀏覽器初始顯示

點擊 「創建一個配置文件」,彈出圖 2 所示頁面。

圖 2 創建配置文件

§

點擊 「現在就開始!」 按鈕,彈出圖 3 所示頁面,填寫裏面的信息,將 RDS 的連接串填在 「數據庫主機」 一欄,將 RDS 中的數據庫名和用户名/密碼名填寫在相應的欄目裏面。

圖 3 填寫信息

點擊 「提交」,彈出圖 4 所示頁面。

圖 4 提交後的頁面顯示

這個頁面提示 「抱歉,無法寫入 wp-config.php 文件」,因此需要手工創建這個文件,並將上面的內容複製 (Windows:Ctrl-a, Ctrl-c; Mac: Cmd-a, Cmd-c) 到這個文件中。

創建好 wp-config.php 後,點擊 「進行安裝」,彈出圖 5 所示頁面。

圖 5 安裝頁面

在圖 5 的頁面中填寫相應的信息,這些信息可以根據自身的需要填寫。其中的用户名和密碼是管理 WordPress 所需要的用户名和密碼。

填寫好以上信息後,點擊 「安裝 WordPress」,等待一會兒,就會彈出圖 6 所示頁面。

圖 6 完成頁面

「很遺憾,一切皆已完成!:)」 。 WordPress 的作者在安裝最後還跟我們幽默了一把。至此,你就可以訪問新的 WordPress 了。打開瀏覽器,輸入 http://42.120.125.186/WordPress 就會彈出圖 7 所示的畫面。

圖 7 WordPress 歡迎界面

第三步:數據遷移

在完成 WordPress 的安裝後,接着需要將原來 WordPress 系統中的數據遷移到 RDS 中。先將原來的 WordPress 的數據備份出來 (當然也可以安裝 WordPress 的 WordPress-DB-Backup 插件進行數據庫備份):

將上一步備份出來的數據文件/tmp/wordpess.sql 上傳到雲服務器的/tmp 目錄下面。然後將數據導入到 RDS 中去。

最後在域名提供商的域名管理系統中,將域名指向雲服務器 IP 地址。到此,WordPress 遷移到雲端的工作已全
部完成。你是否還沉浸在愉悦的遷移過程中?很遺憾,一切皆已完成!

作者周光輝,阿里云云計算基礎產品部資深專家。主要負責 RDS(關係型數據庫) 產品以及雲監控產品。