你好,
我最近在自己的 VPS 上安装了 Discourse。我的服务器只有 2 GB 内存。这是否足以在生产环境中运行论坛?我曾遇到过 502 网关错误,这可能是因为内存不足。有时,在安装插件后,我需要多次刷新管理面板。
其他帖子称 1 GB 内存就足够了,但实际情况如何?我使用的是 bitnami 提供的最新 Docker 镜像。有人表示 Sidekiq 可能会占用高达 4 GB 的内存:https://github.com/bitnami/bitnami-docker-discourse/issues/150
1 个赞
justin
(Justin DiRose)
2
你可以轻松地在 2GB 内存的 VPS 上运行 Discourse。如果你尚未设置交换空间,建议考虑进行配置。运行 ./discourse-setup 即可自动完成此操作。
3 个赞
我最初确实设置了交换空间,但如果使用交换内存,速度会大幅下降,因此默认情况下我不想启用它。
1 个赞
Falco
(Falco)
4
我们的默认配置仅在系统压力大时(例如进行网页更新时)才会使用交换空间。
如果您托管一个大型社区,并开始发现 Discourse API 响应变慢,您可以增加服务器的 CPU 和内存,然后重新运行 ./discourse-setup,使其开始使用增强后的资源。
6 个赞
pfaffman
(Jay Pfaffman)
5
这是一个新社区,还是您导入了一个大型数据库?您预计会有多少流量?单核 CPU 速度和 SSD 存储至关重要。
1 个赞
我还没有导入任何数据库。这是一个全新的论坛,目前没有任何帖子。现阶段唯一的访问者就是我。不过,我预计未来会有流量,每天可能有高达 1000 名用户访问该网站。
pfaffman
(Jay Pfaffman)
7
哦,别这么做。或者去问问他们为什么你的性能这么差。
参见:Discourse 官方标准安装
4 个赞
dfee
(Devin)
8
很好奇你为什么反对使用 Bitnami 镜像?(想必 @AntiMetaman 指的是他们新的 Helm Chart,见此处。
另外,他们现在还有一个新的 Helm Chart,见此处。
Falco
(Falco)
9
我们,即 Discourse 开发团队,仅针对我们自己的基础镜像进行测试。不遵循 Install Discourse in production with the official supported instructions 的安装方式可能会在不经意间出现问题,且我们不会为此提供支持。
4 个赞
neounix
(Dark Matter)
10
仅供参考,并提供一个不同的视角 @AntiMetaman
虽然 Discourse 可以在最小内存的 VPS 上运行,但构建和重建 Discourse 的速度会比在内存更大的机器上慢得多。就我个人而言,我不会在仅 2GB 内存的机器上运行“真正”的生产环境 Discourse 应用,但这只是我的个人看法。
仅供参考(仅代表个人观点),我曾在 1GB、2GB、8GB、32GB 和 64GB 内存的服务器上安装过 Discourse,包括 VPS 和专用服务器。说实话,我更喜欢在 64GB 和 32GB 内存的机器上构建 Discourse。在 64GB 内存上构建速度非常快 :)。重建速度快如闪电,运行起来也异常流畅,就像热吐司上的黄油一样顺滑。因此,我更喜欢在内存和磁盘空间更大的机器上运行 Discourse,并与其他应用共存,而不是在内存极小的独立切片上以最小内存模式运行。
不过,这基于我个人对 Discourse 和 Docker 的使用经验及偏好。我喜欢 Discourse 能够快速重建,并在生产环境中拥有充足的“余量”,而 2GB 内存无法满足我对构建速度的要求。
4 个赞
marianord
(Mariano Rodriguez)
12
Discourse 建议最低配置为 1GB 内存,我曾按此进行安装,但系统很快会变得缓慢,因此我建议使用 2GB。
这最初的 2GB 内存足以支撑很长时间。我目前运营一个社区,日均访问量约为 3500 次(不含爬虫),每天发布约 20-30 条帖子。使用 2GB 内存期间,我未遇到任何问题,也未察觉到任何性能下降。
我几乎可以肯定,@AntiMetaman 你的问题出在 Bitnami 镜像上,而非资源不足。请确保你的 CPU 速度足够,如果条件允许,建议分配第二个 CPU(我目前仅使用 1 个 vCPU,已能胜任工作)。
4 个赞
Bitnami 镜像仍在使用稳定版 2.4.4。我选择 Bitnami 的唯一原因是它提供了标准的 docker-compose.yml 文件,使得安装过程更加简便。一些尝试使用官方 Discourse 镜像升级到 2.6.0 beta 1 的用户遇到了失败。我将尝试使用官方 Discourse 镜像,看看效果如何。
1 个赞
Stephen
(Stephen)
14
好主意,第三方包(如 Bitnami 安装)在这里完全不受支持。
正如你已注意到的,它们也严重过时了。
2 个赞
Shaneod
(Shane)
15
您好 @Falco - 您是指在控制台中运行该命令,还是运行设置向导 www.mysite.com/wizard 就足够了?
1 个赞
它们实际上是两件不同的事情。
/wizard 用于 UI 和管理员设置,以便在安装后设置您的网站,并且可以通过您的网站/浏览器访问。
discourse-setup 是安装过程本身的一部分,它(部分)分配服务器资源,并在服务器上运行。
您可以多次重新运行 discourse-setup,它不会覆盖您任何的网站数据。
3 个赞
Shaneod
(Shane)
17
感谢您的澄清@JammyDodger,非常感谢。
我的网站变得相当卡顿,所以我给服务器增加了内存,现在分配 2048MB 的共享缓冲区(之前是 128MB),运行得好多了。
我之前一直是手动编辑 app.yml 文件并使用 SFTP 上传,刚才在重建应用程序时注意到一个权限警告,app.yml 文件应该设置为多少?
pfaffman
(Jay Pfaffman)
18
644 或 600。我相信您提到的消息会告诉您应该是什么。
1 个赞