运行 Discourse 服务器时,日志显示数据库查询

我已经完成了所有设置,并成功运行了服务器命令 bundle exec rails server --binding=0.0.0.0。但是,我没有看到“Server listening on PORT 3000”的提示,命令行中只显示数据库查询日志。

有人能指出问题所在吗?为什么我看不到服务器监听的日志?

这是用于本地开发实例,还是您正在为通用用途设置 Discourse?

所以我是在 Ubuntu 虚拟机中运行这个,服务器启动后,我可以通过虚拟机的 IP 地址和 3000 端口访问它。不过,这只是针对一般使用场景。

您是否严格按照我们的官方安装指南逐步操作,未对任何步骤进行任何修改?

我一直在遵循这份指南 - Install Discourse on Ubuntu or Debian for Development

那是开发环境安装,您是打算编写 Discourse 插件或为 Discourse 开源源代码做贡献的程序员吗?您提到

对于一般用途,请遵循我提供的安装指南,您不需要开发环境安装。

我是一名程序员,但不打算编写任何插件等,只想为自己的网站设置 Discourse 论坛插件。这样,用户就可以来此分享他们关心的问题,而我和我的团队可以为他们解答。

如我之前所说,请点击我上方帖子中的链接进行官方标准安装 :index_pointing_up::index_pointing_up:

明白了,我来做,非常感谢,Jeff :slight_smile:

1 个赞

但我还是想知道,为什么我一直看到的是数据库查询,而不是服务器在运行?

@codinghorror,有没有办法在 GCP 托管的虚拟机上部署 Discourse?还是必须使用 DigitalOcean 的虚拟机?

这是框架在开发模式下的标准输出。

只要开放必要的端口并选择具有足够内存的实例类型,在 GCP 上运行完全没问题。

@Falco,假设我在开发模式下能看到标准输出,但当我访问该 VM 的 IP 地址并尝试通过 3000 端口访问时却看不到任何内容,我是否遗漏了什么?

为了在 GCP 上部署 Discourse,我遵循了以下链接:https://github.com/discourse/discourse/blob/master/docs/INSTALL-cloud.md。我没有使用 Digital Ocean,而是在 GCP 上创建了一个 Ubuntu VM 并尝试进行设置。当我进行到设置 Discourse 主机名的步骤时,虽然我已注册了一个域名,但无法将其绑定,并收到了错误提示。

默认情况下,开发环境仅绑定到本地,因此同一网络中的其他设备无法访问。您可以使用标准的 Rails 标志来更改此行为。

您所说的“附加”域名具体是指什么?

域名必须指向实例的公网 IP,并且实例必须开放标准的 Web 端口。我们推荐 Digital Ocean 的原因之一是,非技术用户在云服务商那里很难打开端口,而在简单的 VPS 提供商那里则不会出现这种情况。

1 个赞

明白了,这很有帮助,非常感谢,Rafael :slight_smile:

1 个赞

你必须为虚拟机拥有一个公网 IP,并创建一个指向该 IP 的 A 记录。

如果你需要帮助,请说明你做了什么操作以及遇到了什么错误。对于 DNS 问题,如果你能分享主机名,我们将能更好地提供帮助。

1 个赞