你好,我最近接手了一个社区的管理员职位,目前面临的挑战是将论坛恢复到最新状态。
由于日历插件存在问题,该论坛已长时间未进行更新。
我租用了一台新服务器,希望先在那里搭建一个与生产环境完全一致的副本。
由于我使用的是旧版本,目前还不清楚该如何操作,因为如果是全新搭建,系统总会拉取最新版本。
我们当前运行的是:
Discourse 3.2.0.beta1-dev (19567daeb9)
并安装了以下插件及其版本:
以及 PostgreSQL 13。
我计划先搭建一个完全一致的副本,然后通过完整备份进行保存,之后再研究如何在不破坏当前实例的前提下启动更新流程。一旦我找到可行的方法,再对生产环境实例进行更新。
目前的难点是:
如何首先创建一个包含旧版 PostgreSQL 数据库和旧插件的完整副本?
作为新手,我非常感谢各位提供的提示或相关链接。
谢谢大家的时间,祝好!
Richarde
2 个赞
感谢你的帮助!
据我理解,备份中不包含任何软件,因此插件及其软件版本,以及Discourse本身及其版本均未包含在内。因此,对于上述情况来说,这并不适用。
幸运的是,现在阻止我们更新的插件已经与Discourse的最新版本兼容,因此我能够设置一个新服务器并安装最新版本,然后在该服务器上恢复我们的备份。
然而,对于一些人(包括我们社区在该插件与软件不再兼容的时期)来说,知道在这种情况下如何建立一个测试实例,并将其作为1:1的副本,以便在安全的环境中测试进一步的操作,而不影响生产环境,这将非常有帮助。
2 个赞
ToddZ
4
如果您使用的是可以克隆整个 VPS 的提供商,这可能是一个值得探索的捷径:
此外,使用 rsync 迁移站点的此过程似乎可以 1:1 迁移整个站点……
使用 rsync 将 Discourse 站点迁移到另一个 VPS - 社区 wiki / 系统管理员
[编辑:如果执行了规定的重建,则不是 1:1。需要启动而不重建。)
基本过程看起来相当直接,尽管有许多评论提供了修改后的方法和命令参数。我还没有亲自做过。如果我必须做,我想我会从基础开始,看看效果如何。评论中讨论了几种可能的陷阱。
我引用的那段是我尝试过的,但没有成功。
通过 Provider 创建一个与 Snap 的 1:1,禁用 https。
我尝试了很多方法,包括通过 Rails 更改配置,但都无法使其正常工作,所以通过 Snap 的方式对我来说根本行不通。因此,我在这里寻求一种解决方法。(即使我已经解决了我的问题,这将来可能也会有帮助)
是的,这又会导致更新,为什么这不应该起作用。
谢谢大家
ToddZ
7
哎呀,是的,抓得好。我当时一定太晚了。不过 Pfaffman 的想法很有意思。
1 个赞
pfaffman
(Jay Pfaffman)
8
您认为创建另一个使用相同容器的网站可以解决什么问题?
我猜如果您想这样做,那么应该构建映像,然后在两个站点的反向代理后面启动它。
另外,还有一些新映像尚未支持,可以直接启动,因此您可以查找有关这些映像的主题。