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
Думаю, мне просто нужно настроить порт для производства? Спасибо.
Ответы
Ответ 1
Вы можете показать весь раздел кода, на который вы вызываете listen
? Вы должны проверять переменную среды процесса PORT, а не только ее жесткое кодирование до 3000. Из docs:
var port = process.env.PORT || 3000;
app.listen(port, function() {