新安装的站点显示错误:“Ember CLI 在开发模式下是必需的”

我正在使用 Ruby on Rails 应用程序、nginx 和 Passenger
ruby - 3.2.2 和 rails 7

但当我尝试从 nginx 配置文件在开发模式下运行时
它显示:

要以开发模式运行 Ember CLI,请执行以下操作:

$ bin/ember-cli

然后访问以下 URL 来使用 Discourse:

http://localhost:4200

要禁用此警告并允许直接访问 Rails,请使用 ALLOW_EMBER_CLI_PROXY_BYPASS=1 启动服务器。

这里不清楚你到底有什么问题或疑问。

我在服务器 Ubuntu 20.04 上克隆并设置了 discourse 应用程序,所有必需的安装都已完成。

我正在使用 nginx 和 passenger Web 服务器,当我尝试使用 IP 地址访问应用程序时:
http://20.76.69.70/
我收到了以下消息:

开发模式需要 Ember CLI

要在开发模式下运行 Ember CLI,请执行以下操作:

$ bin/ember-cli

然后访问以下 URL 来使用 Discourse:

http://localhost:4200

要禁用此警告并允许直接访问 Rails,请使用 ALLOW_EMBER_CLI_PROXY_BYPASS=1 启动服务器。

@supermathie Michael Brown

我不知道为什么我的浏览器会显示此错误消息。

您是遵循了安装指南,还是自己做的?

我相信您遵循的是开发说明,这只适用于开发工作。

是的,我遵循了安装指南,Michael

Passenger 不是标准安装的一部分,所以我应该问:

您在标准安装的基础上做了哪些更改?

您能否发布您的容器的已清理的 app.yml 文件?

1 个赞

你好 Michaiel

我关注了下面的存储库,并且没有使用 Docker 进行安装

所以没有 container 文件夹和 app.yml 文件

那么你没有遵循安装指南。

正如我上面所说,看起来你遵循的是开发说明。

这在生产环境中是行不通的。

2 个赞

我只能通过 Docker 安装,对吗?

只有 Docker 安装方法受支持,这与我提供的安装指南一致。

3 个赞

好的迈克尔,那我将遵循 Docker 安装指南,有消息再告诉你,谢谢。

您好 Michael

我已按照您的指示和标准安装流程操作

并执行了 ./launcher rebuild app

在安装日志处理后,我遇到了以下错误:

docker: Error response from daemon: driver failed programming external connectivity on endpoint app (590666be2f3a7bd9ccef78e2e8521bc8d01df94536cee243b2e7ffa88f8909a9): Error starting userland proxy: listen tcp4 0.0.0.0:80: bind: address already in use。

这是因为端口 80 上已运行某些程序。可能是您之前的 nginx 安装。您应该从一个全新的服务器开始,就像安装指南告诉您做的那样。

理查德,你是怎么建议的?对于简单的 Nginx 进程,我们需要创建一个新的服务器、新的进程,而不是修复那个错误,这怎么可能?

停止并禁用占用 80 和 443 端口的任何进程。

请参阅 Search results for '"bind: address already in use"' - Discourse Meta

1 个赞

你好 ratnamraj raj,

只要你遵循标准安装,设置一个新服务器并重新安装 Discourse 通常是让事情正常工作的最佳方式,而不是试图修复损坏或配置错误的配置。

如果你的 80 端口已被使用,则意味着有软件正在使用它。要么你设置的服务器预装了 Web 服务器或类似软件,要么你在安装 Discourse 之前已经在服务器上安装了其他东西。

你的服务器提供商是什么?你使用的是哪个 Linux 版本?

你是在创建服务器后立即按照官方指南安装 Discourse 的吗?

也许您想做类似 在已有 Apache 站点的服务器上设置 Discourse 的事情?有一个类似的关于 nginx 的主题,但我找不到它。

看看 Run other websites on the same machine as Discourse

1 个赞