本博客www.bitstech.net原先放在bluehost上, 机器性能差网络慢, 打开主页要老半天, 早准备迁移回国内。 近期网易推了蜂巢容器云c.163.com, 基于全SSD、BGP多线机房打造, 价格实惠量又足, 正是一个迁移好去处, 于是马上动手迁移。
一、创建wordpress容器
选择最低配置,选择workdpress4.3.1, 很快就创建好一个wordpress服务, 压根不用自己去安装一个wordpress, 这是不是相当容易:) 。 容器是最近很火的技术名词, 我暂时把它理解为便宜又好用虚拟机, 最低规格的容器, 一个小时0.06元, 一年525, 比阿里云同规格的主机要便宜, 且是全SSD存储, 性能杠杠的。 网络ping值<6ms, 相比之下, bluehost的185ms延迟实在是太差了。
二、 wordpress数据迁移
wordpress迁移有三种方法(http://www.51php.com/wordpress/5570.html) , 靠谱的方法是:1)wordpress自身的导入导出功能;2) 整站迁移。
当然要先尝试wordpress自身导入导出方法, 可惜每次导出下载到近1M的时候就遇到错误。 看来bluehost过于小气, 要限制我把站点迁走。
于是只好尝试“整站迁移”。 51php文章给出是迁移到51php的方法, 依赖于51php提供的工具。 不过这难不倒我, 因为迁移的精髓在与把原站点的php页面,和数据库复制到新站点。
1. 打包站点页面
登录bluehost, 找到wordpress站点目录, 打成一个tar.gz包。tar czf bitstech.tar.gz bitstech/
2. 导出数据库
首先从wp-config.php文件中找到数据库地址, DB_NAME是数据库名, DB_USER是数据库用户, DB_PASSWORD是数据库密码, DB_HOST是数据库地址。 接下来使用mysqldump工具导出数据库内容, 导出的数据放到 wordpress.sql.mysqldump -h localhost -uDB_USER -pDB_PASSWORD DB_NAME > wordpress.sql
3. 拷贝页面和数据库到新站点
ssh登录到创建的wordpress容器, ssh登录可以选择putty工具,不过我为了省事, 直接用了蜂巢页面上webssh功能。 webssh是以root用户登录的, 登录之后利用scp命令从blueshost上拷贝bitstech.tar.gz, wordpress.sql这两个文件到蜂巢容器。
4. 导入数据库
蜂巢的wordpress容器中已经运行了一个mysql数据库实例, 输入不带mysql命令就连接上数据库。在mysql中执行:
create database DB_NAME ;
use DB_NAME ;
source “/$path/wordpress.sql”
$path替换成你的数据库名, 以及wordpress.sql路径
5. 导入页面
检查web服务器apache的配置文件, 发现蜂巢wordpress容器的站点页面存放在/app目录下。 解压第3步拷贝过来的bitstech.tar.gz, 替换/app目录下所有内容。 当然为了避免误操作, 替换之前务必备份/app目录。
拷贝文件用的是root账号, 但通过top命令发现apache运行在www-data用户下, 因此修正app目录的owner为www-data。chown www-data /app
6. 修改数据库配置
蜂巢wordpress容器中mysql的用户是root,没有密码, 这与原站点有所不同。 所以调整wp-config.php中DB_USER, DB_PASSWORD两个数据配置。
7. 测试站点
访问http://106.2.61.224/, 看看页面是否正常。图片、文章都还在, 一切看起来都还不错, 访问速度也快了很多。
8. 切换域名
我的域名在godaddy上, 登录godaddy页面绑定www.bitstech.net域名到新的ip地址, 耐心等待域名生效。
三、写在最后
本迁移方法并不仅限于从bluehost迁移到蜂巢, 只要你了解源站和目标站数据库地址, 以及页面所在目录, 就能使用本方法迁移wordpress站点。