내 앱을 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 || 3000
http 서버 스크립트에 추가 하여 해결했습니다. 내 heroku 로그에 ‘H20’오류와 503 http 상태가보고되었습니다.
답변
이 문제가 있었는데 유일한 문제는 내 Procfile이 다음과 같았습니다
web : node index.js
그리고 나는
web:node index.js
유일한 문제는 공백이었다
답변
제 경우에는 Procfile이 잘못된 파일 (이전에 사용한 bot.js)을 가리키고 있었기 때문에 업데이트하면 오류가 사라졌습니다.
답변
hapi18을 사용할 때 “host”필드를 꺼내 포트를 다음과 같이 설정합니다.
port: process.env.PORT || 5000
트릭을했다.