[node.js] 첫 번째 Heroku 배포 실패 ʻerror code = H10`

내 앱을 Heroku에 배포했습니다. node.js + express + socket.io 앱이고 이것은 package.json파일입니다.

{
  "name": "game_test",
  "author": "Ilya",
  "description": "A test app for our board game",
  "version": "0.0.1",
  "private": true,
  "scripts": {
    "start": "node app"
  },
  "dependencies": {
    "express": "3.0.6",
    "jade": "*",
    "socket.io" : "*"
  },
 "engines": {
      "node": "0.8.14"
  }
}

이것은 내가 얻는 로그입니다.

heroku[router]: at=error code=H10 desc="App crashed" method=GET path=/ host=game-test-1.herokuapp.com fwd=37.26.146.185 dyno= queue= wait= connect= service= status=503 bytes=
heroku[router]: at=error code=H10 desc="App crashed" method=GET path=/favicon.ico host=game-test-1.herokuapp.com fwd=37.26.146.185 dyno= queue= wait= connect= service= status=503 bytes=

무슨 뜻이에요?



답변

나를위한 해결책을 찾았습니다 : Heroku + node.js 오류 (시작 후 60 초 이내에 웹 프로세스가 $ PORT에 바인딩하지 못했습니다)

제 경우에는 heroku dinamicaly가 설정하는 포트를 사용하는 대신 PORT를 설정하기가 어려웠 기 때문에 앱이 충돌했습니다. process.env.PORT

app.listen(process.env.PORT || 3000, function(){
  console.log("Express server listening on port %d in %s mode", this.address().port, app.settings.env);
});


답변

내 앱에서 비슷한 문제가 발생했습니다. 많은 옵션을 시도한 후 DB 마이그레이션 후 문제가 발생했습니다.

heroku restart

(Mac 용 Heroku toolbelt 사용)


답변

제 경우에는 로컬 컴퓨터에 node와 npm의 버전 차이가 있고 package.json 버전에 정의되어 있기 때문에 동일한 오류를 발견했습니다.

"engines": {
  "node": "0.8",
  "npm": "1.2.x"
}

내가 사용할 때

node --version : v0.10.41
npm --version : 1.4.29

내 package.json을 업데이트하면

 "engines": {
  "node": "0.10.41",
  "npm": "1.4.29"
}

잘 작동합니다 🙂


답변

내 경우에는 process.env.PORT || 3000http 서버 스크립트에 추가 하여 해결했습니다. 내 heroku 로그에 ‘H20’오류와 503 http 상태가보고되었습니다.


답변

이 문제가 있었는데 유일한 문제는 내 Procfile이 다음과 같았습니다

web : node index.js

그리고 나는

web:node index.js

유일한 문제는 공백이었다


답변

제 경우에는 Procfile이 잘못된 파일 (이전에 사용한 bot.js)을 가리키고 있었기 때문에 업데이트하면 오류가 사라졌습니다.


답변

hapi18을 사용할 때 “host”필드를 꺼내 포트를 다음과 같이 설정합니다.

port: process.env.PORT || 5000 트릭을했다.