2013-04-23 23 views
14

günlüklerinde hiçbir hata mesajı yeni bir Rails 4 beta uygulaması yaptım ve Heroku (Ruby 2.0.0 ve Unicorn kullanarak bir Procfile kullanarak) dağıttım.Heroku raylar 4 app 500ing, ancak

O foreman start ile lokal olarak iyi çalışır, ancak ben dağıtılan uygulamanın ana sayfasını ziyaret ettiğinizde, sadece standart Heroku 500 hatası alıyorum:

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

Ancak günlüklerde, hiç hata olmadığından .

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 

Ve işte o itme gelen günlükleri: Ben İşte 500.

neyin neden olduğunu hiçbir fikri benim son git push heroku master çıkıştır ettik Bundan sonra

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 

, Ana sayfayı tarayıcımdan yüklemeyi denedim ve bunlar günlüklerde görünen iki ek satırdı:

2013-04-23T22:29:26.685651+00:00 heroku[router]: at=info method=GET path=/ host=blofs.herokuapp.com fwd="46.65.16.44" dyno=web.1 connect=2ms service=156ms status=500 bytes=706 
2013-04-23T22:29:26.973073+00:00 heroku[router]: at=info method=GET path=/favicon.ico host=blofs.herokuapp.com fwd="46.65.16.44" dyno=web.1 connect=1ms service=5ms status=200 bytes=0 

Sorunun ne olabileceği hakkında bir fikri olan var mı? İlgili olabilecek

diğer şeyler:

  • Ben standart Heroku Postgres addon devre dışı bıraktık ve yerine ClearDB MySQL addon kullanıyorum.
  • ortam değişkenini, CLEARDB_DATABASE_URL var (mysql one) ile aynı değere önceki değerden (postgres addon'u kaldırdıktan sonra bile postgres URL'siydi) el ile değiştirmeyi denedim. Bu herhangi bir fark yaratmadı.
  • Gemfile'a ruby '2.0.0' ekledim ve mysql2 ve unicorn taşlarını ekledim. Bu foreman start ile lokal olarak çalışıyor web: bundle exec unicorn -p $PORT -E $RACK_ENV
  • : Ve sadece içeriyor config/unicorn.rbhttps://devcenter.heroku.com/articles/rails-unicorn
  • Benim Procfile de önerdi kullandım.
  • Yukarıda açıklanan değişiklikler dışında, temel olarak rails new ile oluşturulan kutudan çıkmış bir uygulamadır.
+3

Kahramanlar için 4 adet mücevher varmış gibi görünmüyor. Https://devcenter.heroku.com/articles/rails4 adresine bakın. –

cevap

34

Gemfile ürününe gem 'rails_12factor' kodunu eklemeniz gerekir. Rails 4+ 'in hizmetiyle çalışması için Heroku'dan geçici düzeltme.

Bkz. Getting Started with Rails 4.x on Heroku veya Getting Started with Rails 5.x on Heroku.

+1

Sorunu çözmenin anahtarı büyük olasılıkla bu cevabı kabul etmelisiniz. – MoMolog

+1

Tam hata ayıklama günlükleri için production.rb'nizdeki 'config.log_level =: debug' değiştirdiğinizden emin olun. –

+0

Bu çalışma benim için! Önce o gemiyi ekledim ve daha ayrıntılı bir günlük hatası aldım. Ben daha sonra 'heroku run rake db: migrate' çalıştırıyorum ve bundan sonra uygulama çalışıyordu! – adripanico

1

Bu yanıtlar, günlükleri nasıl açacağınızı anlatır, böylece hatayı arayabilir, ancak soruyu gerçekten yanıtlamayın, 'Ne yanlış gidiyor olabilir?' this question için @Lauren tarafından cevap önerilerden dışında

, burada da başka bir olasılık - aynı zamanda bir çok sessiz 500 hataya neden olacağı, üretim ortamında ENV sabit erişmeye çalışan ve heroku config:set yoluyla ayarlamamışsanız .