2013-04-23 5 views
14

私は新しいRails 4ベータ版アプリを作成し、それをHerokuに配備しました(Ruby 2.0.0、Procfile経由のUnicornを使用)。HerokuのRails 4アプリは500ですが、ログにエラーメッセージはありません

それは、foreman startでローカルに細かい動作しますが、私は展開のアプリのホームページを訪問したときに、私はちょうど標準Herokuの500エラーが表示されます。

We're sorry, but something went wrong. 
If you are the application owner check the logs for more information. 

はしかし、ログに、エラーが存在しない

Counting objects: 6, done. 
Delta compression using up to 8 threads. 
Compressing objects: 100% (4/4), done. 
Writing objects: 100% (4/4), 656 bytes, done. 
Total 4 (delta 2), reused 0 (delta 0) 

-----> Ruby/Rails app detected 
-----> Using Ruby version: ruby-2.0.0 
-----> Installing dependencies using Bundler version 1.3.2 
     Running: bundle install --without development:test --path vendor/bundle --binstubs vendor/bundle/bin --deployment 
     Using rake (10.0.4) 
     Using i18n (0.6.4) 
     Using minitest (4.7.3) 
     Using multi_json (1.7.2) 
     Using atomic (1.1.8) 
     Using thread_safe (0.1.0) 
     Using tzinfo (0.3.37) 
     Using activesupport (4.0.0.beta1) 
     Using builder (3.1.4) 
     Using erubis (2.7.0) 
     Using rack (1.5.2) 
     Using rack-test (0.6.2) 
     Using actionpack (4.0.0.beta1) 
     Using mime-types (1.23) 
     Using polyglot (0.3.3) 
     Using treetop (1.4.12) 
     Using mail (2.5.3) 
     Using actionmailer (4.0.0.beta1) 
     Using activemodel (4.0.0.beta1) 
     Using activerecord-deprecated_finders (0.0.3) 
     Using arel (4.0.0) 
     Using activerecord (4.0.0.beta1) 
     Using coffee-script-source (1.6.2) 
     Using execjs (1.4.0) 
     Using coffee-script (2.2.0) 
     Using json (1.7.7) 
     Using rdoc (3.12.2) 
     Using thor (0.18.1) 
     Using railties (4.0.0.beta1) 
     Using coffee-rails (4.0.0) 
     Using hike (1.2.2) 
     Using jbuilder (1.0.2) 
     Using jquery-rails (2.2.1) 
     Using kgio (2.8.0) 
     Using mysql2 (0.3.11) 
     Using bundler (1.3.2) 
     Using tilt (1.3.7) 
     Using sprockets (2.9.3) 
     Using sprockets-rails (2.0.0.rc4) 
     Using rails (4.0.0.beta1) 
     Using raindrops (0.11.0) 
     Using sass (3.2.8) 
     Using sass-rails (4.0.0.rc1) 
     Using turbolinks (1.1.1) 
     Using uglifier (2.0.1) 
     Using unicorn (4.6.2) 
     Your bundle is complete! It was installed into ./vendor/bundle 
     Cleaning up the bundler cache. 
-----> Preparing app for Rails asset pipeline 
     Running: rake assets:precompile 
     I, [2013-04-23T22:28:44.559735 #871] INFO -- : Writing /tmp/build_33m76p0rij8a5/public/assets/rails-d8fb6a2617998f32edf5edb354fc5326.png 
     I, [2013-04-23T22:28:49.911890 #871] INFO -- : Writing /tmp/build_33m76p0rij8a5/public/assets/application-d4a508061cd56ce9e544945495285e0c.js 
     I, [2013-04-23T22:28:50.120141 #871] INFO -- : Writing /tmp/build_33m76p0rij8a5/public/assets/application-a3b89b66a8471f3e75abb239e3b35c7d.css 
     Asset precompilation completed (8.30s) 
-----> Rails plugin injection 
-----> Discovering process types 
     Procfile declares types  -> web 
     Default types for Ruby/Rails -> console, rake, worker 

-----> Compiled slug size: 35.0MB 
-----> Launching... done, v21 
     http://blofs.herokuapp.com deployed to Heroku 

To [email protected]:blofs.git 
    32e51a2..37d989c master -> master 

そして、ここではそのプッシュからのログです:私はここに500

を引き起こしているものは考えが私の最後のgit push heroku masterから出力されませんしました。その後

2013-04-23T22:28:06.650049+00:00 heroku[slugc]: Slug compilation started 
2013-04-23T22:29:11.194613+00:00 heroku[api]: Release v21 created by [email protected] 
2013-04-23T22:29:11.365908+00:00 heroku[api]: Deploy 37d989c by [email protected] 
2013-04-23T22:29:11.441066+00:00 heroku[web.1]: State changed from up to starting 
2013-04-23T22:29:11.932952+00:00 heroku[slugc]: Slug compilation finished 
2013-04-23T22:29:12.858139+00:00 heroku[web.1]: Stopping all processes with SIGTERM 
2013-04-23T22:29:13.194707+00:00 app[web.1]: I, [2013-04-23T22:29:13.194495 #2] INFO -- : reaped #<Process::Status: pid 5 exit 0> worker=0 
2013-04-23T22:29:13.194902+00:00 app[web.1]: I, [2013-04-23T22:29:13.194747 #2] INFO -- : master complete 
2013-04-23T22:29:14.312014+00:00 heroku[web.1]: Process exited with status 0 
2013-04-23T22:29:14.338943+00:00 heroku[web.1]: Starting process with command `bundle exec unicorn -p 25281 -E $RACK_ENV` 
2013-04-23T22:29:15.717687+00:00 app[web.1]: I, [2013-04-23T22:29:15.717387 #2] INFO -- : listening on addr=0.0.0.0:25281 fd=7 
2013-04-23T22:29:15.717916+00:00 app[web.1]: I, [2013-04-23T22:29:15.717861 #2] INFO -- : worker=0 spawning... 
2013-04-23T22:29:15.721526+00:00 app[web.1]: I, [2013-04-23T22:29:15.721385 #2] INFO -- : master process ready 
2013-04-23T22:29:15.723623+00:00 app[web.1]: I, [2013-04-23T22:29:15.723389 #5] INFO -- : worker=0 spawned pid=5 
2013-04-23T22:29:15.723805+00:00 app[web.1]: I, [2013-04-23T22:29:15.723750 #5] INFO -- : Refreshing Gem list 
2013-04-23T22:29:16.305653+00:00 heroku[web.1]: State changed from starting to up 
2013-04-23T22:29:16.891063+00:00 app[web.1]: I, [2013-04-23T22:29:16.890882 #5] INFO -- : worker=0 ready 

、ブラウザにホームページを読み込もうとしましたが、ログに表示される行は次の2行だけです:

誰かが問題の原因を知っていますか?関連するかもしれない

他のもの:

  • 私は標準HerokuのPostgresのアドオンを無効にしてきたし、代わりにClearDB MySQLのアドオンを使用しています。
  • 私はDATABASE_URL環境変数を以前の値(postgresのアドオンを削除した後でもpostgres URLだった)から手動でCLEARDB_DATABASE_URL var(mysql 1)と同じ値に変更しようとしました。これは何の違いもありませんでした。
  • 私はGemfileにruby '2.0.0'を追加し、mysql2unicornの宝石を追加しました。それは、foreman startでローカルに正常に動作しますweb: bundle exec unicorn -p $PORT -E $RACK_ENV
  • :そして、私だけ含まれていconfig/unicorn.rbhttps://devcenter.heroku.com/articles/rails-unicorn
  • マイProcfileで提案し使用しました。
  • 上記の変更以外は、基本的にrails newで作成されたすぐに使用できるアプリです。
+3

あなたがヒーローレール4宝石を持っているようには見えません。 https://devcenter.heroku.com/articles/rails4 –

答えて

34

あなたのGemfileにgem 'rails_12factor'を追加する必要があります。 Herokuのテンポラリが、Rails 4+のサービスを利用できるようにしています。

Getting Started with Rails 4.x on HerokuまたはGetting Started with Rails 5.x on Herokuを参照してください。

+1

あなたの問題を解決する鍵である可能性が高いので、この回答に同意する必要があります。 – MoMolog

+1

production.rbの 'config.log_level =:debug'を完全なデバッグログに変更してください。 –

+0

私のためにこの作品!私は最初にその宝石を追加して、より詳細なログエラーを得ました。その後、私は 'heroku run rake db:migrate'を実行し、その後このアプリは動作していました! – adripanico

1

これらの回答は、エラーを探すことができるようにログをオンにする方法を教えていますが、「が間違っていますか?

別にthis questionに@Laurenによって答えで提案から、ここでは別の可能性があります - あなたは本番環境でENV定数にアクセスしようとするとheroku config:setを経由して、それを設定していない場合、また、非常に静かな500エラーの原因となること。