关于自托管的困惑逐渐消除

Discourse 托管 ≠ 自行托管

我是一位经验丰富的自行托管者,曾进行过一些复杂的配置;此外,我曾在 Discourse 工作过,因此对这两个概念有一定的了解,而您似乎对它们有些混淆。我会尝试为您澄清一些事情,但这绝非详尽的解释,尽管篇幅可能有点长,哈哈。我不知道您从哪弄来的那张流程图,但它并不完全正确。

Discourse 托管顾名思义——Discourse 会收取费用来托管您的站点。正如您已经发现的,有不同的价格层级,从免费开始,随着层级提升提供越来越多的选项,而企业级是最高且最昂贵的(它为您提供最多的选项以及顶级的支持服务)。托管式托管(Managed Hosting)也是如此(Discourse 托管是托管式托管的一种形式),但其他合作伙伴公司如 Communiteq 或 Literate Computing 也提供此类服务。这些合作伙伴公司除了托管之外,还收取费用提供各种开发和支持服务(我也提供)。请记住,开发和专业支持通常不是免费的,这就是 Marketplace(市场)版块存在的意义。此外,虽然 Discourse 的托管价格结构对您来说可能显得昂贵,但我可以向您保证,许多知名公司为其规模庞大、繁忙且运营良好的企业级论坛(其中许多是私有的)支付高昂的费用。Discourse 为它们提供的 SLA(服务等级协议)和支持/开发服务级别之所以如此之高,是因为它们的业务活动需要这些保障。如果您是一家科技公司,遭受 DDoS 攻击可能导致公司因停机损失六位数资金,那么支付企业级托管费用是非常值得的。

自行托管的意思正如字面所示——您在租用的服务器(或您拥有的物理服务器,我不推荐后者,因为那会引入另一个高级别的麻烦)上托管自己的站点。自行托管不仅仅是租用一台服务器(或 VPS——虚拟专用服务器)并通过 SSH 登录就万事大吉了。作为自行托管的管理员,您需要具备某些知识。一个仅在 Wix 上搭建过几个网站的编程初学者,在自行托管 Discourse 方面能帮您的忙并不多;这是完全不同的事情,所需的技能水平也不同。您目前还不知道什么是 SSH,这可能表明您在该领域还有很长的路要走。Secure Shell - Wikipedia

如果您有兴趣学习,我建议您从阅读标准安装文档开始,并从中了解基本情况。有些人觉得容易,有些人觉得难,您拥有的一些网站管理经验可能会帮助您学得更快。能够 SSH 登录服务器是一回事,但您必须习惯于命令行界面,并了解 Docker 管理的基础知识以及容器的工作原理。既然您说您的站点规模较小,那么标准安装应该可以作为起步,并且它将为您提供所有内置插件的访问权限,以及您可能想要添加的其他插件;本质上,自行托管的 Discourse 实例就像拥有一个企业级的 Discourse 托管论坛,但没有他们的专家支持、正常运行时间 SLA 和性能(例如,每次重新构建或更新时您都会遇到一些停机时间,但 Discourse 托管会为您处理这些操作,且不会出现明显的停机)。

您完全有理由学习如何自行托管,但请记住,没有什么东西是免费的,您想要的服务规模和级别将决定您需要支付的成本。一些 VPS 服务比其他服务更便宜,这里有一份 @pfaffman 整理的列表,可以帮助您做出决定。例如,我有 3 个 Discourse 站点,都在 Hetzner 上,但服务器大小和相关成本不同:2 个站点是位于 Cloudflare CDN 之后的双容器安装,并使用 R2(S3 兼容)对象存储 进行上传和备份,另一个是用于测试目的的标准安装。我以前使用过 DigitalOcean,但它可能相对昂贵;然而,它是学习标准安装的推荐起点(尽管我实际上觉得 Hetzner 并没有太大不同,而且我更喜欢他们的控制面板)。

如果您不想支付 Discourse 或其任何合作伙伴托管公司的费用来管理您的托管,并且您需要超过免费层级的服务,那么我的建议是做一些研究和阅读,然后尝试自行安装。了解 app.yml 文件是什么以及如何编辑它,如何设置您的名称服务器和电子邮件服务——这是学习如何作为自行托管者配置自己的 Discourse 实例的起点。一些 VPS 服务允许您以非常低廉的价格短期租用服务器,仅用于测试或学习。