迁移 Discourse 至另一台服务器


(Erick Guan) #1

原文位于官方论坛,翻译于 2014-10-11

想要将 Discourse 实例迁移到另一台服务器?

在这篇指南中,我们将一个 Discourse 实例从 Linode 迁移至 Digital Ocean。以下步骤在支持 Docker 的云服务商那都可以使用。让我们开始吧。

用管理员账户登录老服务器

只有管理员才能执行备份操作,所以登录进 Linode 那台主机上的 Discourse 管理员账户。

升级老服务器上的 Discourse

新老的 Discourse 必须是一样的版本,这样才能保证正确地备份/导出。所以第一件事情是先将 Linode 那台主机上的 Discourse 更新到最新版。

访问 /admin/upgrade 升级。

在成功升级后,您应该看到已是最新版的提示!

下载您的备份

访问 admin/backups 然后点击备份按钮。

您将被提示需要确认,点击是。

确认后,您将看到备份过程的日志。当过程完成后,切换回备份标签栏。

现在您将看到新创建的备份文件。点击 下载 按钮并保存文件,我们之后将在新服务器上使用这个文件来恢复。

在新服务器上登录管理员账户

注册并登录 Digital Ocean 上新安装的 Discourse。

启用恢复

在站点设置中搜索 restore

启用 allow_restore 设置,并且刷新页面让更改生效。

从备份文件中恢复

访问 /admin/backups 再点击 上传 按钮,选择前面下载的备份文件(文件名以 .tar.gz 结尾):

当文件上传完后,点 恢复 按钮:

当提示要求确认时点击 :

您将看到恢复过程的日志,这需要一点时间但是将神奇地自动恢复您老的 Discourse 实例(Linode 服务器)上的数据。

当恢复过程完成时,您将被登出。

登录然后就没有然后了

当恢复结束后,所有在 Linode 老实例的数据都已被导入 Digital Ocean 上的新 Discourse 实例了。


后台 备份的文件没法恢复
请问是否能使用自己的中文翻译(且能支持升级)
(Shaman) #2

迁移遇到一些问题,

  1. 在新的机器安装discourse 的时候, 管理员账号无法激活 参照 邮件配置 成功添加管理员账号.

  2. 在上传的之前的备份的时候一直卡在8% 原因不详, 后来直接登上服务器手动把备份文件拷贝至指定位置.

  3. 备份恢复成功后, 数据都正常, 但是不知为何, 一些自定义样式一直不生效.

  4. 直接把 /var/discourse/shared/standalone 下的所有数据拷贝至新机器上, 重新 rebuild 就生效了. 这样看来直接这样就可以了, 也不需要下载备份再上传了.


(Erick Guan) #3

nginx 没有开足够的大小吧?

重新撤销/开启一下自定义的设置可能会有所帮助。

对的,只要配置一样可以这么做。


(Shaman) #4

多谢解答 !!! :grin: