Свежеустановленный сайт выдает ошибку: "Ember CLI is Required in Development Mode"

Я использую приложение 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.

Неясно, какая именно проблема или вопрос у вас здесь имеется.

Я клонировал и настроил приложение Discourse на сервере Ubuntu 20.04, все необходимые шаги установки выполнены.

Я использую веб-серверы nginx и passenger. При попытке доступа к приложению по 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 Майкл Браун

Не знаю, почему это сообщение об ошибке появляется в моём браузере.

Вы следовали руководству по установке или сделали это самостоятельно?

Похоже, вы следовали инструкциям для разработки, которые подходят только для рабочих задач по разработке.

Да, Майкл, я следовал руководству по установке.

Passenger не входит в стандартную установку, поэтому я должен спросить:

Какие изменения вы внесли по сравнению со стандартной установкой?

Можете ли вы опубликовать очищенный файл app.yml для вашего контейнера?

Привет, Михаил!

Я следовал инструкции в репозитории ниже и не использовал Docker для установки:

Поэтому у меня нет папки container и файла app.yml.

Значит, вы не следовали руководству по установке.

Как я уже сказал выше, похоже, что вы выполнили инструкции для разработки.

Это не будет работать в продакшене.

Я не могу установить это в обычном режиме, верно, только через Docker?

Поддерживается только метод установки Docker, согласно руководству по установке, на которое я дал ссылку.

Хорошо, Майкл, тогда я последую руководству по установке Docker и сообщу вам. Спасибо.

Привет, Майкл!

Я последовал вашим инструкциям и стандартному процессу установки.

Выполнил команду ./launcher rebuild app.

После завершения процесса установки в логе я получил следующую ошибку:

docker: Ошибка ответа от демона: сбой программирования внешнего подключения для конечной точки app (590666be2f3a7bd9ccef78e2e8521bc8d01df94536cee243b2e7ffa88f8909a9): Ошибка при запуске прокси пользовательского режима: listen tcp4 0.0.0.0:80: bind: адрес уже используется.

Это происходит потому, что порт 80 уже занят. Возможно, это предыдущая установка nginx. Вам следует начать с нового, чистого сервера, как указано в руководстве по установке.

Ричард, как вы могли предложить такое? Для простого процесса nginx нужно создать новый сервер и новый процесс. Как это возможно вместо того, чтобы исправить эту ошибку?

Остановите и отключите любые процессы, занимающие порты 80 и 443.

Смотрите Search results for '"bind: address already in use"' - Discourse Meta

Здравствуйте, ratnamraj raj,

Если вы следуете стандартной процедуре установки, то настройка нового сервера и повторная установка Discourse часто являются лучшим способом решить проблемы, чем попытки исправить повреждённую или неправильно настроенную конфигурацию.

Если порт 80 уже занят, это означает, что какое-то программное обеспечение использует его. Либо ваш сервер был предварительно настроен с веб-сервером или подобным ПО, либо вы устанавливали что-то на сервере до установки Discourse.

Кто является провайдером вашего сервера? Какую версию Linux вы используете?

Устанавливали ли вы Discourse сразу после создания сервера, следуя официальному руководству?

Возможно, вы хотите сделать что-то вроде настройки Discourse на сервере с существующими сайтами Apache? Есть похожая тема для nginx, но я не могу её найти.

Посмотрите здесь: Run other websites on the same machine as Discourse