将网站从新浪云应用 SAE 迁移到 DigitalOcean

将 WordPress 网站从新浪云应用迁移到 DigitalOcean

这篇笔记记录了我将一个 WordPress 网站从新浪云应用(SAE)迁移到 DigitalOcean Droplet 的过程。

1. 重定向 SAE 域名

打开 SAE 网站根目录中的 config.yaml,并在 handle 下添加以下规则:

- rewrite: if(in_header["host"] ~ "^www.yovisun.me" && path ~ "^(.*)$") goto "http://www.yovisun.com$1 [L,QSA,R=301]"

这会使用 301 永久重定向,将旧 SAE 域名的请求跳转到新域名。

2. 购买或准备新域名

我是在西部数码购买的新域名。域名准备好后,将其 DNS 记录指向 DigitalOcean Droplet 的 IP 地址。

3. 创建 DigitalOcean Droplet

在 DigitalOcean 上使用一键 WordPress 镜像创建一个 Droplet。设置过程中,添加一个用于登录的 SSH 密钥。

如果本地还没有 SSH 密钥,可以先生成一个:

ssh-keygen -t rsa -C "835570372@qq.com"

4. 为 PuTTY 转换 OpenSSH 私钥

如果你在 Windows 上使用 PuTTY,需要用 PuTTYgen 将 OpenSSH 私钥转换为 PuTTY 的 .ppk 格式。

  1. 启动 PuTTYgen。
  2. 点击 Conversions > Import key
  3. 选择由 OpenSSH 生成的私钥,例如 id_rsa
  4. 点击 Save private key,并将其保存为类似 id_rsa_putty.ppk 的文件名。

5. 使用 PuTTY 登录 Droplet

打开 PuTTY,输入 Droplet 的 IP 地址或域名。然后配置私钥:

  1. 进入 Connection > SSH > Auth
  2. 点击 Browse,选择 .ppk 私钥文件。
  3. 返回 Session 并保存该会话。
  4. 连接到服务器。

首次登录时,按照 WordPress 一键镜像的设置提示操作。就我这里而言,默认设置已经可以接受,所以我一直按 Enter 继续。

6. 配置 DNS

将域名的 DNS 记录设置为 Droplet 的 IP 地址。根据网站需要创建对应记录,例如根域名和 www 子域名的 A 记录。

DNS 修改后,验证域名是否解析到 Droplet:

nslookup www.yovisun.com

或者:

dig www.yovisun.com

7. 更新 WordPress

登录新的 WordPress 仪表盘,在导入内容前更新 WordPress、主题和插件。这样可以减少迁移过程中的兼容性问题。

8. 导入 XML 备份

使用预先导出的 WordPress .xml 备份文件:

  1. 打开 WordPress 仪表盘。
  2. 进入 Tools > Import
  3. 选择 WordPress
  4. 如有需要,安装导入器。
  5. 上传 .xml 文件并运行导入。
  6. 将导入的文章分配给正确的用户。
  7. 根据旧站媒体 URL 是否仍可访问,选择是否下载并导入文件附件。

导入完成后,检查文章、图片、永久链接和重定向;确认无误后,再认为迁移完成。

Leave a Reply