大家好,
我们部门的 Web 服务器上由前任管理员搭建了一个 Discourse 实例。我对 Discourse 不太了解,但它提示需要更新,并建议执行以下命令:
cd /var/discourse
git pull
./launcher rebuild app
但是当我 cd 进入 /var/discourse 时,发现里面只有 shared 目录,因此 git pull 失败(该目录不是一个 Git 仓库)。我该怎么办?
大家好,
我们部门的 Web 服务器上由前任管理员搭建了一个 Discourse 实例。我对 Discourse 不太了解,但它提示需要更新,并建议执行以下命令:
cd /var/discourse
git pull
./launcher rebuild app
但是当我 cd 进入 /var/discourse 时,发现里面只有 shared 目录,因此 git pull 失败(该目录不是一个 Git 仓库)。我该怎么办?
您应该在新的虚拟机上执行干净安装,先进行备份,然后将其恢复到新安装中。
如果您不喜欢这个答案,那么您应该让当初设置该环境的人来修复它。
@pfaffman 你说的“新虚拟机”是什么意思?是指 Discourse 的 Docker 镜像吗?问题是,我找不到通过 Docker 管理 Discourse 的手册。
创建新 VM 意味着创建新的虚拟服务器(假设您的实例未运行在专用硬件上)。
这确实很可能就是问题所在。它运行的是 Discourse 2.1.0(如果这样能让情况更清晰的话)。
问题在于:我的实例确实运行在专用硬件上。
所以,我理解目前不涉及 Docker。至少,不是手动操作。至少,很高兴知道只有一种设置方法,而且它只使用 git clone 和设置脚本。
让我困扰的是,既然一切都在一台实际的物理机器上运行(即没有任何“虚拟”成分),我该如何温和地移除旧版本。我已经做了备份,这很简单。接下来该怎么做?
现在在另一台机器上安装。建议使用虚拟机,因为更容易扩展资源。系统要求请参阅安装文档。
新安装运行后,请恢复该备份。
这是什么类型的实例?负载如何?是否持续使用?
天哪……那是 2018 年中期发布的版本。你绝对需要更新。除了缺失许多优秀功能外,还缺少不少安全修复,其中一些至关重要,而你的版本并未包含这些修复。
不幸的是,我没有另一台机器。
感谢反馈,但这并不是问题所在:我正在尝试更新。我在昨天之前并不是该实例的管理员,但我了解更新的重要性。
感谢大家的回答!我问了那位老管理员,他帮了忙。不知何故,Git 仓库位于 /var/docker 而不是 /var/discourse。从那里开始,就可以应用标准流程了。我们现在已经升级到最新版本(2.6),太棒了!![]()
啊哈!那是很久很久以前(在我四年前开始使用 Discourse 之前)推荐的存放位置。
看来我“请教老手”的解决方案真的奏效了!
我建议还是留一些文档以防万一:
echo "it's in /var/docker" > where-is-launcher
这是个好主意。或者也可以
cd /var/
ln -s /var/docker discourse
不过这可能会让 launcher 感到困惑。
这不太是个好主意,因为 /var/discourse 已经存在,并且包含 shared 目录。
This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.