[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