[ruby-on-rails] Heroku 배포 오류 H10 (앱 충돌)
로컬 컴퓨터에서 RoR 앱을 사용하고 있지만 heroku로 보낼 때 충돌이 발생합니다. 오류 로그에 오류 H10이 표시되고 다음과 같이 표시됩니다.
2012-11-21T15:26:47+00:00 app[web.1]: from /app/vendor/bundle/ruby/1.9.1/gems/newrelic_rpm-3.4.2/lib/new_relic/control/instance_methods.rb:95:in `start_agent'
2012-11-21T15:26:48+00:00 heroku[web.1]: State changed from starting to crashed
2012-11-21T15:26:48+00:00 heroku[web.1]: Process exited with status 1
2012-11-21T15:26:59+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path=/ host=xxx.herokuapp.com fwd= dyno= queue= wait= connect= service= status=503 bytes=
2012-11-21T15:27:00+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path=/favicon.ico host=xxx.herokuapp.com fwd= dyno= queue= wait= connect= service= status=503 bytes=
2012-11-21T15:30:08+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path=/ host=xxx.herokuapp.com fwd= dyno= queue= wait= connect= service= status=503 bytes=
2012-11-21T15:30:08+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path=/favicon.ico host=xxx.herokuapp.com fwd= dyno= queue= wait= connect= service= status=503 bytes=
2012-11-21T15:30:59+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path=/favicon.ico host=xxx.herokuapp.com fwd= dyno= queue= wait= connect= service= status=503 bytes=
2012-11-21T15:31:19+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path=/ host=xxx.herokuapp.com fwd= dyno= queue= wait= connect= service= status=503 bytes=
2012-11-21T15:31:19+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path=/favicon.ico host=xxx.herokuapp.com fwd= dyno= queue= wait= connect= service= status=503 bytes=
2012-11-21T15:32:08+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path=/favicon.ico host=xxx.herokuapp.com fwd= dyno= queue= wait= connect= service= status=503 bytes=
2012-11-21T15:32:08+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path=/ host=xxx.herokuapp.com fwd= dyno= queue= wait= connect= service= status=503 bytes=
편집하다:
2012-11-22T10:00:58+00:00 app[web.1]:
2012-11-22T10:00:59+00:00 heroku[router]: at=info method=GET path=/favicon.ico host=xxx.herokuapp.com fwd= dyno=web.1 queue=0 wait=0ms connect=1ms service=26ms status=200 bytes=0
누구든지 전에 이것을 가지고 있었고, 문제를 일으키는 원인을 알고 있습니까? 해결책을 찾을 수 없습니다.
감사.
답변
위의 동일한 오류가 발생하여 앱이 heroku에서 충돌하고 (dev에서 잘 실행 중) heroku의 오류 로그에 단서가 표시되지 않았습니다. 이 페이지에서 다른 답변을 읽고 “앱 재 구축”을 본 후 땀을 흘 렸습니다. 어쩌면 헤 로쿠 콘솔에 들어가서 둘러 볼 수있을 것 같아요. 나는 콘솔조차도 추락했지만 이번에는 그 이유를 말해주었습니다. 문제 해결 세션 시간 전에 삭제하는 것을 잊어 버린 일부 모호한 변수였습니다. 나는 당신이 같은 문제에 부딪 칠 것이라고 말하지는 않지만 콘솔을 살펴 보았을 때 더 많은 정보를 찾았습니다. 도움이 되었기를 바랍니다.
$ heroku run rails console
답변
나는 같은 문제를 겪고 있었다. 통나무도 나에게 단서를주지 못했습니다. 그래서 나는 스케일을 줄이고 스케일을 다시 올렸다. 이것은 나를 위해 문제를 해결했습니다.
heroku ps:scale web=0
몇 초 기다렸다 …
heroku ps:scale web=1
답변
$heroku run rails console
Heroku 로그의 ‘app crashed’오류보다 훨씬 자세한 오류가 터미널에 표시되므로 가장 좋은 옵션입니다.
답변
$ heroku restart
내 dyno를 다시 실행하는 데 도움이되었습니다. 나는 Heroku를 처음 사용하지만 지금은 기쁘다.
답변
잘못된 포트에서 듣고있을 때 이런 일이 일어났습니다
listen ()을 “process.env.PORT”로 변경했습니다.
http.listen((process.env.PORT || 5000), function(){
console.log('listening on *:5000');
});
대신에
http.listen(5000, function(){
console.log('listening on *:5000');
});
답변
오늘 저녁에도 같은 문제가있었습니다. 매우 유용한 오류는 아니므로 콘솔에서 실행을 시도했습니다.
heroku run rails c
실패했고 훨씬 더 유용한 오류가 발생했습니다. 프로덕션에서 메소드 호출을 삭제하지 않았습니다. 일단 수정하면 앱이 정상적으로 작동했습니다.
답변
Git으로 푸시 하여이 문제를 해결했습니다.
git add .
git commit -am "some text"
git push
그런 다음 Heroku로 푸시하십시오.
git push heroku
그런 다음 Heroku에서 db : migrate를 레이크하십시오.
heroku run rake db:migrate