将博客从阿里云主机迁移到阿里云服务器全过程记录

作者: 蒋老师 分类: 电脑技巧 发布时间: 2019-09-05 18:54

这个博客原来是放在阿里云主机上的,即将到期,主机是去年阿里云搞活动的时买的,续费太贵,联系阿里云的客服,这款主机续费没有折扣。去年双十一还买了一个多年期的阿里云 ECS,客服告诉我将博客迁移到 ECS 不需要重新备案(域名也是在阿里云备案的),于是就有了想将博客迁移到 ECS 的想法。

本来,将博客迁移是一件比较简单的事情,但蒋老师多年没有玩独服和 VPS 了,操作明显生疏了不少,折腾了很久才终于搞好了,觉得有必要记录一下,以便日后自己再折腾时能用到,也可以供有需要的朋友们参考:

一、安装镜像

以下方法详见:https://yq.aliyun.com/articles/662383

1、将域名解析到 ECS 的公网 IP,也就是添加 A 记录,将 www 和 @ 两个记录的记录值均使用公网 IP(在 ECS 实例列表中可以查到),在域名解析生效后再继续做一下步操作。

2、在 ECS 实例列表中,点击相应实例右侧的“管理”。

3、停止服务器,然后在“配置信息”右侧的“更多”处,选择“更换系统盘”,在弹出的对话框中,点击“确定,更换系统盘”。

4、选择“镜像市场”(默认为“公共镜像”),点击“从镜像市场选择(含操作系统)”。

5、在镜像市场中,在搜索框中填写 wordpress,搜索后找到“WordPress 博客环境(CentOS 6.8 64 位)”,这是关键步骤。其他镜像看似更高大上,有些也显示是 0 元(有些其实是首次免费,续费要钱。有些是缺东少西,需要另外付费)。而我们这里的这款是可以直接使用的,而且永久免费。

6、购买镜像后(0 元),返回更换系统盘的界面,填写密码(自己设置),确定后,服务器会重新启动。

7、为便于访问,点击页面左侧的“本实例安全组”,然后点击实例右侧的“配置”,为 80(http)、433(https)、21(FTP)、22(SSH)等常用端口配置规则(如果系统没有自动配置的话),具体配置可以参考系统已经自动配置好的端口。

二、安装 WordPress

这个镜像有非常完整的帮助文档(在实例管理面板中点击“镜像ID”,在镜像页面中点击“使用指南”右侧的“查看指南”),按文档介绍的步骤,可以轻松安装 WordPress,应该说是没有任何难度。

三、首次遇到的问题

WordPress 安装完成后,使用出现了问题,升级 WordPress(原始版本 4.8)、升级插件、升级主题、导入原站数据均提示需要 FTP 账号和密码。

1、登录 SSH,搭建 FTP 后,正确输入 FTP 用户名和密码后,以上操作均失败,提示不能复制文件。

2、按网上介绍的方法修改 wp-config.php,没有任何作用。

3、初步猜测是文件夹(和某些文件)权限不够,于是尝试将修改权限为 777,如:

Chmod -R 777 文件夹

修改后,故障仍然(只好又改了回来,不想让文件夹权限太高)。

4、怀疑是权限太高,于是新建了用户 www 和用户组 www,然后用以下命令将有关文件和文件夹进行权限修改,参见本文

chown -R www:www ./

修改后,故障仍然。

该用的方法都用了,实在没有办法,只好求助镜像提供商了。该镜像的提供商天津云顶云科技有限公司真的不错,技术人员帮我详细分析了问题后,折腾了很久,最终成功解决了(其实是解决了前三个问题)。

其实最终的解决方法非常简单,只有一条命令:

chown -R php-fpm /usr/local/nginx/html/

5、最后一个问题是导入原始数据失败,其实是数据文件太大了,修改一下配置或者直接在数据库中操作均可:

(1)在 nginx.conf 中加入 client_max_body_size 2000m;(最大限制 2000M),然后重启 nginx(使用 /usr/sbin/nginx -s reload)
如有必要,还要修改 php.ini 配置文件(注意:以下几个参数的大小),重启 php(/usr/local/php/sbin/php-fpm)

upload_max_filesize = 2M
max_file_uploads = 20

(2)也可以直接在数据库中操作,他们家 phpMyAdmin 本地默认的管理用户名:root,密码:yundingyun.com,管理地址:http://你的 ip/pma

经过以上操作后,终于基本上成功地将博客从阿里云主机迁移到了 ECS 云服务器。再次要感谢天津云顶云科技有限公司的客服和技术人员,服务真的非常不错。

说是“基本上”成功迁移是因为还留下了 SSL 证书申请和配置,伪静态等问题。限于篇幅,这里不介绍了,后来我将专文介绍。