从 AWS 迁移到 Digital Ocean,包含 2 个容器、Spaces 和 2 个 CDN

我目前将论坛托管在 AWS 上,并计划迁移到 Digital Ocean。

在 AWS 上,我配置了 1 个 CDN,并使用本地存储来存放所有图片。我打算迁移到 Digital Ocean,并对现有架构进行多项“升级”。

在 Digital Ocean 上,我计划进行以下配置:

以下是我的迁移计划:

  1. 在 Digital Ocean 上以 test.example.com 为域名搭建所有服务
  2. 确保 AWS 和 Digital Ocean 运行相同版本的 Discourse
  3. 在 AWS 上备份 Discourse
  4. 更新 DNS 并将 test.example.com 重命名为 live.example.com,参考:Change the domain name or rename your Discourse
  5. 将 AWS 的备份恢复到新的 Digital Ocean 服务器上

问题:
I) 这些步骤是否正确?
II) 恢复备份文件后,Discourse 会自动将图片上传到 Digital Ocean Spaces,还是我需要在恢复后手动运行以下命令?

rake s3:upload_assets
1 个赞

我的理解是,您需要手动将 S3 中的所有资源复制到新的 Spaces,因为上传迁移不会自动完成。

1 个赞

这个周末我终于成功从 AWS 迁移到了 DigitalOcean。以下是我的最终步骤:

  1. AWS 地址为 live.example.com
  2. live2.example.com 上设置并运行 DigitalOcean 的 Discourse 实例
  3. AWS 和 DigitalOcean 实例均运行相同版本的 Discourse
  4. live.example.com 设为只读模式,并通过图形界面进行备份
  5. 使用 SCP 将备份文件从 AWS 服务器传输到 DigitalOcean 服务器
  6. 在 DigitalOcean 服务器上,将 app.yml 中的域名更改为 live.example.com,然后执行 ./launcher rebuild app
  7. 接着在 DigitalOcean 服务器命令行中恢复备份:Restore a backup from the command line
  8. 随后更新 DNS 记录,将 live.example.com 指向 DigitalOcean 服务器。
  9. 至此,您的服务器已正常运行。
  10. 然后我按照以下说明配置 S3 上传功能:Configure an S3 compatible object storage provider for uploads
  11. 最后,我按照以下说明配置全站 CDN 加速:Full site CDN acceleration for Discourse
4 个赞

您是否曾将现有的上传文件从 AWS S3 迁移到 DO Spaces?

在 AWS 上,我将上传文件托管在本地,而不是 S3。迁移到 DigitalOcean 时,我先将数据恢复到本地磁盘,然后迁移到 DO Spaces 和 Stackpath CDN。之后,我需要运行上传和 rake 命令,将图片推送到 S3。

1 个赞

抱歉,我误解了您的第一条帖子。

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.