求助:在多站点 NGINX 服务器上配置 Discourse

我有一个 DigitalOcean 服务器,上面托管着两个现有的网站,使用的是 nginx-php-mariadb 堆栈。这台服务器配备了 2 核 4GB 内存,利用率很低。因此,我也计划在这台服务器上托管一个 Discourse 站点。

我知道由于我已经有两个网站运行在 nginx 堆栈上,我应该遵循以下两个链接来设置 Discourse 站点:

  1. 标准 Docker 化安装:link
  2. 配置:link

在阅读了以上链接后,我认为我已经掌握了必要的步骤。但是,有几个方面我不太确定,希望在继续安装之前能得到一些指导。由于我是 Discourse 的新手,请耐心对待我可能提出的基本问题。我最近几天研究了各种主题,有了一些了解,但有些地方仍然让我感到困惑。

以下是我的疑问。我将非常感谢您的帮助或任何能帮助我入门的提示:

  1. 上述两个链接是否足以设置一个默认的 Discourse 站点,还是我应该了解其他信息?

  2. 我的服务器只有 25GB 空间,可用空间仅为 15GB。我做了一些计算,发现 15GB 可能不足以长期存储用户上传的图片。我希望磁盘利用率不超过 50%,以避免因空间问题导致其他网站出现停机风险。因此,我正在考虑将所有占用空间的资产,如图片,迁移到专用的存储解决方案。我知道 DigitalOcean 提供 Spaces 来实现这一目的,但我不太确定如何在 Discourse 中进行配置,以确保所有资产都存储在那里。我希望能得到一些关于最新资源推荐的指导,帮助我完成此配置。

  3. 我的现有网站受到 CloudFlare(免费套餐)的保护,并使用 Let’s Encrypt 证书进行 SSL。CloudFlare 负责处理 DNS 解析、缓存和安全等标准操作。我打算为 Discourse 站点也保持这种配置。在这种设置下,Discourse 是否需要任何特殊的配置?目前,我的服务器启用了 ufw 防火墙,并且只允许 CloudFlare IP 地址。我认为这种设置应该足够了。

  4. 如果我遵循上面提供的配置链接,这些配置更改,或者我将来进行的任何更改,在重建/升级 Discourse 实例后是否会保留?

  5. 我的另外两个网站托管在 WordPress 上,并使用一个名为 WPRocket 的缓存插件进行服务器端缓存。Discourse 是否有类似的缓存推荐,或者标准的 CloudFlare 缓存设置是否足够?

  6. 我已经为我的 DigitalOcean Droplet 启用了备份。我还了解到,建议单独备份 Discourse 实例。如果是这样,我该如何启用它,是否可以将这些备份存储在外部存储(如 DigitalOcean Spaces)上?

我认为你无法在磁盘空间这么小的情况下完成。请参阅在已有 Apache 站点的服务器上设置 Discourse。有一个关于 nginx 的类似主题,但我无法在链接搜索框中找到它。

我建议你先在另一个虚拟机上安装,看看效果如何,然后再尝试高级安装。

可以使用一些 Cloudflare 的缓存功能,但它的加速功能可能会破坏 Discourse。有很多关于人们因 Cloudflare 引起的问题的主题。