作者:周光輝

在雲端計算出現以前,大部分傳統網際網路的開發者的做法是自己購買伺服器,尋找託管機房,自己安裝資料庫,伺服器和資料庫的維護任務也由自己承擔。這些 做法給使用者帶來了巨大的硬體成本以及人力成本。並且當資料庫出現一些疑難雜症或者硬體損壞導致資料丟失,很多使用者都是束手無策,不得不花費更大的代價尋求 原廠或者第三方資料庫服務廠商的幫助。 《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(關係型資料庫) 產品以及雲監控產品。