Discourse 是一款开源论坛软件,只要您知道如何托管,就能以极少的精力运行论坛。官方指南 介绍了在 DigitalOcean 上的安装步骤,但在 AWS EC2 上运行则需要进行一些调整。社区曾请求提供一份在 AWS EC2 上安装的官方指南,但 Discourse 团队 缺乏相关经验,因为他们是在裸机 Linux 服务器上托管的。
本文旨在填补这一空白,展示如何在 AWS EC2 上托管 Discourse。幸运的是,在 AWS EC2 上托管与在 DigitalOcean 上托管的唯一区别在于最初部分的 “创建新云服务器”,因此我将仅涵盖该部分。
我假设您知道如何启动 AWS EC2 实例,如果不知道,可以参考一些精彩的 YouTube 视频。除了常规流程外,还有几点需要注意。
弹性 IP
配置弹性 IP,因为它比 EC2 公网 IP 更稳定。后者在每次停止并启动实例时都会改变。静态 IP 可使 DNS 解析更不易出错。
磁盘空间
Docker 容器需要相当大的磁盘空间,因为它运行 Redis 和 PostgreSQL。默认的 8 GiB EBS(弹性块存储)卷不够用。我配置了 30 GiB 的卷。
如果您已经配置了默认的 8 GiB 卷,也别担心,只需在 AWS 控制台中更改它,然后停止并启动实例。现在您就知道为什么我们需要弹性 IP 了——它在重启后不会改变,DNS 解析也不会受到影响!
入站规则
确保在入站规则中开放端口 80 和 443,源地址设置为 0.0.0.0/0。为了简化起见,我将其设置为完全开放,但您也可以根据需要适当限制范围。
结论
如果您对在 AWS EC2 上托管 Discourse 仍有疑问,欢迎在 https://meta.discourse.org/ 上 @yiksanchan 联系我,如果力所能及,我会提供帮助。
祝您 Discourse 愉快!