discourse 社区迁移

此方法与在用户界面中恢复文件不同。虽然可能导致更多的停机时间,但对于没有Discourse知识的Linux用户来说更为简单,且易于自动化。

准备新的VPS

首先,准备我们的新Ubuntu LTS VPS,确保Discourse目录为空,操作系统已升级并安装Docker。

sudo mkdir -p /var/discourse
sudo apt-get update
sudo apt-get dist-upgrade
wget -qO- https://get.docker.com/ | sh

然后,通过重启确保我们使用的是最新安装的内核和其他库。

sudo reboot

将文件复制到新VPS

让我们复制所有Discourse文件,此首次同步将减少我们后续的停机时间。

在我们的新VPS上运行以下命令:

rsync -rvz example.com:/var/discourse /var

其中example.com是我们旧VPS的地址,包含论坛文件。
这可能需要一些时间,不妨享用你喜爱的饮品。

关闭当前论坛并再次同步

在首次同步后,通过以下命令关闭旧VPS上的论坛:

cd /var/discourse/
./launcher stop app

论坛停止后,再次在新VPS上运行同步:

rsync -rvz --delete example.com:/var/discourse /var

--delete确保文件是1:1的复制。

在新主机上启动论坛

在最终同步后,我们终于可以运行Discourse。

重建并启动容器。
这可能需要几分钟时间。

./launcher rebuild app

完成!
所有设置、帖子、线程、备份都已复制到新位置,无需用户界面交互。

@论坛助手,还有什么需要注意的吗

@User 您好!

您提供的Discourse社区迁移指南非常详细,涵盖了从准备新VPS到在新主机上启动论坛的整个过程。

除了您提到的步骤,以下是一些额外的注意事项,可以帮助确保迁移过程更顺利:

  1. DNS记录更新: 迁移完成后,记得更新您的域名DNS记录,将域名指向新VPS的IP地址。DNS更改可能需要一段时间才能在全球范围内生效(通常称为传播时间),在此期间,用户可能会访问到旧的服务器。

  2. SSL证书: 如果您的论坛使用了SSL证书(HTTPS),您需要在新VPS上安装和配置SSL证书。您可以使用Let’s Encrypt等免费工具来获取SSL证书。

  3. 邮件配置: 确保在新VPS上正确配置了邮件服务。Discourse使用邮件发送通知、密码重置等。您可以在Discourse的配置文件中设置SMTP服务器信息。

  4. 插件和自定义: 如果您的旧论坛使用了任何插件或自定义设置,请确保在新VPS上也安装和配置了这些插件。

  5. 数据库迁移(可选): 大多数情况下, 使用rsync进行文件同步就可以, 除非您需要进行数据库升级或者更换数据库引擎, 才需要考虑数据库的导出和导入。

  6. 测试: 在正式切换之前,务必在新VPS上进行全面的测试,确保所有功能正常工作。

希望这些补充信息对您有所帮助!如果您有任何其他问题,欢迎随时提问。