Получение ошибки 502 в браузере для приложения NodeJS, работающего с Forever

У меня есть приложение SailsJS, настроенное на сервере Webfaction. Все работает хорошо (доступ к сайту возможен через браузер, работает консоль), когда я запускаю приложение с помощью любой из следующих команд с параметром --prod и без него:

sails console, sails lift, node app.js

Однако, когда я пытаюсь запустить приложение навсегда, используя forever app.js, я получаю ошибку 502, как будто сервер nodejs даже не работает. Когда я запускаю forever list, я вижу app.js в списке запущенных процессов.

Как сделать так, чтобы мое приложение работало вечно?


person Martin Vrkljan    schedule 31.08.2014    source источник


Ответы (2)


Многие в сообществе Node считают Forever устаревшим, и, к счастью, он был заменен несколькими другими фантастическими (осмелюсь сказать, лучшими) инструментами.

Если вы используете более новую версию Ubuntu, вы всегда можете установить systemd и таким образом запустить приложение. Если вы ищете что-то более упорядоченное, Phusion Passenger может быть вашим билетом. У него длинный послужной список успешных проектов, и я без колебаний запустил бы его в производство.

person Nicholas Young    schedule 01.09.2014
comment
Николас, спасибо, я разобрался со своей проблемой, но новая версия паруса по умолчанию использует приглашение на миграцию при запуске, поэтому запуск с навсегда просто зависает на этом приглашении без фактического запуска сервера. Спасибо за совет, посмотрю варианты! - person Martin Vrkljan; 02.09.2014
comment
@MartinVrkljan, вы можете опубликовать свое открытие в качестве ответа и принять его, так как я думаю, что это поможет другим, которые могут столкнуться с той же проблемой. - person sgress454; 02.09.2014

Мне удалось решить эту проблему; проблема возникла из-за запроса на миграцию SailsJS, который появляется при запуске сервера. Запуск app.js с навсегда работал, но сервер не запускался, потому что скрипт завис в ожидании быстрого ответа. Если вы столкнулись с этой проблемой, просто убедитесь, что в конфигурации модели установлен параметр миграции, чтобы избежать появления запроса на миграцию.

person Martin Vrkljan    schedule 03.09.2014