作者:周光辉

在云计算出现以前,大部分传统互联网的开发者的做法是自己购买服务器,寻找托管机房,自己安装数据库,服务器和数据库的维护任务也由自己承担。这些 做法给用户带来了巨大的硬件成本以及人力成本。并且当数据库出现一些疑难杂症或者硬件损坏导致数据丢失,很多用户都是束手无策,不得不花费更大的代价寻求 原厂或者第三方数据库服务厂商的帮助。 《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(关系型数据库) 产品以及云监控产品。