如何判断是通过网页还是控制台进行升级?

我已经搜索过,并找到了这个说明

其中提到每隔几周更新一次,每隔几个月你应该通过以下方式更新

如果您自托管 Discourse,则偶尔需要通过命令行运行手动更新,以获取最新的安全版本和最新的库。这些更新不会在 admin/update 中被获取,这就是为什么您偶尔需要执行此额外步骤的原因。

还有一些其他主题讨论了 admin->update 与 ssh/console 更新的区别,但没有一个清楚地说明哪些更新不能在浏览器中完成。

根据我的经验,在运行 Discourse 的 9 个月里,有一次 Web/admin 更新失败了,我找到了上述文章,并在 ssh 会话中运行了指示的命令。

有没有比“更简单的方法失败了”更好的方法来知道使用哪种方法?

预先感谢

我现在自己的习惯是始终使用命令行。以前我会使用 Web 界面,但因为它可能无法正常工作,而且它给我的控制和可见性更少,所以我不再费心了。

但我的论坛流量很低,一点停机时间也不是什么大事。

值得注意的是,我习惯使用命令行。但话说回来,每个 Discourse 管理员总有一天都要使用命令行。

2 个赞

谢谢,这很有帮助。我曾设想命令行可以更快(停机时间/监控进程时间更短)。

我们认为 Web/GUI 界面是一个很大的优点,因为尽管我拥有数十年的 Unix/Linux 编码和管理经验,但我也是组织中的单点故障,所以得知某些更新需要命令行时,我感到很失望。

一切都很好,这是一个很棒的平台,物超所值 :slight_smile:

1 个赞

即使正要尝试进行网络升级,为命令行升级做好准备也是个好主意。我个人会在开始前查看此论坛,看看是否有人目前遇到困难。代码库有时可能会暂时损坏。此外,我总是在开始前备份并下载。

我了解到,如果正常运行时间至关重要,最佳实践是双容器安装

我不太懂 Docker(这是一种保守说法),但我了解到,如果你发现自己有一个未完成升级且无法正常工作的论坛,在等待帮助的同时,可以在某种程度上启动升级前的版本。(我搜索了“重启旧容器”,但没有找到确切的信息。)

1 个赞

./launcher start app 应该能在重建过程中失败时恢复到重建之前的版本。

不过我通常通过 UI 更新。这样就不会有离线时间。偶尔你需要通过命令行更新,但通常在更新 docker manager 之后、尝试更新 Discourse 本身之前,系统会提示你这样做。

2 个赞

通常,如果需要命令行重建,用户体验(UX)会警告您,并拒绝自行进行升级。但这并非总是如此。

我有一个 dashboard.literatecomputing.com,可以一键进行命令行重建。虽然我希望人们能付费使用它(并获得我的支持),但“限时”您可以加入免费试用组并免费使用它。它处理相当多的问题,例如删除已移至核心的插件、Postgres 升级、在重建失败时重新启动旧容器、仅升级 Web 容器(如果是双容器安装)等等。

1 个赞

说得有理,我更偏执一些,在升级前后都会运行系统快照,此外还有 Discourse 应用程序备份。……我可能应该多了解一下如何从备份恢复。

1 个赞

我还没有使用过快照……我感觉这是一种额外付费的选项。

但我确实觉得下载该备份很重要:如果实例完全损坏,如果我的账户被取消,主机商删除了我正在使用的所有内容,我仍然可以拥有我的论坛,并且可以以任何我选择的主机商都能恢复的格式进行恢复。

系统快照(我认为)在创建时需要停机,而且有点大材小用。只需复制你的 app.yml 和备份文件即可。如果备份在 S3 上,那么你只需要你的 app.yml 就可以启动一个全新的服务器并恢复数据。

1 个赞

快照肯定需要停机时间,而且我的快照每月要花费几美元才能保留。

我也做备份,但是曾尝试过从已知良好时间点制作的备份中恢复损坏的 Discourse,我正在采取双重保险措施。

2 个赞