Подтвердить что ты не робот

Node.js-порт для кедра кедра Heroku

Я запускаю базовое приложение Express в Node.js и пытаюсь развернуть его в Heroku. Приложение работает нормально локально, и я считаю, что мои настройки с Heroku прошли хорошо до запуска сервера, где я получаю следующую ошибку:

2011-09-21T16:42:36+00:00 heroku[web.1]: State changed from created to starting
2011-09-21T16:42:39+00:00 app[web.1]: Express server listening on port 3000 in production mode
2011-09-21T16:42:40+00:00 heroku[web.1]: Error R11 (Bad bind) -> Process bound to port 3000, should be 12810 (see environment variable PORT)
2011-09-21T16:42:40+00:00 heroku[web.1]: Stopping process with SIGKILL
2011-09-21T16:42:40+00:00 heroku[web.1]: Process exited

это в настоящее время все, что у меня есть в моем app.js

app.listen(3000);

Я также запускал это, как упоминалось в начале Heroku.

$ heroku config:add NODE_ENV=production
Adding config vars:
NODE_ENV => production

Думаю, мне просто нужно настроить порт для производства? Спасибо.

4b9b3361

Ответ 1

Вы можете показать весь раздел кода, на который вы вызываете listen? Вы должны проверять переменную среды процесса PORT, а не только ее жесткое кодирование до 3000. Из docs:

var port = process.env.PORT || 3000;
app.listen(port, function() {