Невозможно запустить приложение Express на Nodester - PullRequest
3 голосов
/ 25 марта 2012

У меня возникли проблемы с развертыванием приложения express на nodeter.

После успешного запуска приложения по умолчанию hello world nodeter я выполнил следующие команды на CLI nodeter

nodeter npm install express

После этого я установил экспресс на локальный мерзавец моего приложения

npm install express  
express  
mv app.js server.js // Changed the port from 3000 to the port given to me
git add .
git commit -m 'message'
git push origin master

Кажется, я следовал всем инструкциям, данным различными блогами, но когда я нажал на ссылку (http://dlq.nodester.com) приложение отображается в автономном режиме.

Несмотря на то, что выполнение одного и того же приложения выполняется локально, т. Е. node server.js запускает приложение на моем локальном компьютере (при нажатии на URL отображается страница Express). То жеприложение, когда оно отправлено на нодстер, похоже, не работает.

Пожалуйста, помогите

Ответы [ 2 ]

2 голосов
/ 26 марта 2012

Обновление:

Разработчик ядра Nodester (alejandromg на IRC) рассмотрел вашу проблему.У вас была проблема слияния в вашем git-хранилище.Кажется, это был конфликт слияния.Вы можете найти суть вашего конфликта мерзкого слияния на GitHub .Алехандро был достаточно любезен, чтобы разрешить конфликт на платформе Nodester.Ваше приложение должно теперь безупречно работать на http://dlq.nodester.com/.

. Оставшуюся часть ответа я оставлю как возможный способ решения этой проблемы.


Привет, товарищ Nodester (er)!

Nodester, как PaaS, использует трансляцию внутренних портов, чтобы каждое приложение Nodester могло работать на порту 80, чтобы к нему можно было легко получить доступ из Интернета.Поскольку Nodester работает на одном экземпляре EC2, мы назначаем вам определенный порт.Этот порт будет внутренне перенаправлен на ваш dlq.nodester.com:80, но вашему приложению придется использовать порт, выданный Nodester.

Я знаю, что вы изменили свой порт, но попробуйте использовать альтернативный метод, описанный ниже.

Вы можете получить доступ к назначенному вами порту, запустив nodester app info dlq.Он должен показать вам, что ваше приложение либо запущено, либо остановлено, и порт.

Чтобы указать Express использовать порт (как указано на на странице справки (см. Раздел часто задаваемых вопросов) , выможно использовать либо номер, либо ввести его жестко, либо взять переменную среды, к которой каждое приложение Nodester может получить доступ самостоятельно.

Это должно работать:

app.listen(process.env['app_port'] || 80)

или

app.listen(process.env.port)

Первый позволяет вам разрабатывать локально на порте 80 (или в зависимости от того, что вы выбрали), последний потребует от вас установить переменную среды, которая будет содержать либо строку, либо номер порта, который вы выпустили.

Измените это, отправьте свой код на Nodester (который, кажется, работает, я рад!). После этого приложение должно запуститься автоматически и (надеюсь) работать. Если у вас все еще возникают проблемы, сообщите нам здесь оIRC-канал Nodester #nodester на irc.freenode.org или используйте клиент веб-чата .

Дополнительное устранение неполадок :

Вы, похоже, использовалиnodesterКоманда npm неверна (судя по вашей информации там).Это должно быть:

nodester npm install dlq express

(Спасибо Крису за подсказку)

0 голосов
/ 16 июня 2012

Для тех, у кого проблемы с: nodester npm install express

Способ, которым я получил экспресс-запуск на нодстер (из памяти):

nodester app create myapp
cd myapp
npm install express -g      [if you don't have it yet]
express
mv app.js server.js

открыть server.js и прослушать process.env['app_port'] || 80

git add .
git commit -m 'init express'
git push origin master

см. Журналы nodestor и ищите приложение перезапущено

СЕЙЧАС мы можем

nodester npm install express
nodester app restart

И все должно работать на этом этапе

...