简体   繁体   中英

heroku app crashes but works great locally

my app works perfectly fine locally and I see no errors when I type git push heroku master. However when I type heroku open and visit the url I see:

Application Error

An error occurred in the application and your page could not be served. Please try again in a few moments. If you are the application owner, check your logs for details.

In heroku logs I get the following:

2013-02-24T08:57:38+00:00 heroku[web.1]: Process exited with status 1
2013-02-24T08:57:38+00:00 heroku[web.1]: State changed from starting to crashed
2013-02-24T08:59:21+00:00 heroku[web.1]: State changed from crashed to starting
2013-02-24T08:59:23+00:00 heroku[web.1]: Starting process with command `bundle exec rails server -p 15485`
2013-02-24T08:59:30+00:00 app[web.1]: DEPRECATION WARNING: You have Rails 2.3-style plugins in vendor/plugins! Support for these plugins will be removed in Rails 4.0. Move them out and bundle them in your Gemfile, or fold them in to your app as lib/myplugin/* and config/initializers/myplugin.rb. See the release notes for more on this: http://weblog.rubyonrails.org/2012/1/4/rails-3-2-0-rc2-has-been-released. (called from <top (required)> at /app/config/environment.rb:5)
2013-02-24T08:59:30+00:00 app[web.1]: DEPRECATION WARNING: You have Rails 2.3-style plugins in vendor/plugins! Support for these plugins will be removed in Rails 4.0. Move them out and bundle them in your Gemfile, or fold them in to your app as lib/myplugin/* and config/initializers/myplugin.rb. See the release notes for more on this: http://weblog.rubyonrails.org/2012/1/4/rails-3-2-0-rc2-has-been-released. (called from <top (required)> at /app/config/environment.rb:5)
2013-02-24T08:59:33+00:00 app[web.1]: => Booting WEBrick
2013-02-24T08:59:33+00:00 app[web.1]: => Rails 3.2.11 application starting in production on http://0.0.0.0:15485
2013-02-24T08:59:33+00:00 app[web.1]: => Ctrl-C to shutdown server
2013-02-24T08:59:33+00:00 app[web.1]: Exiting
2013-02-24T08:59:33+00:00 app[web.1]: /app/vendor/bundle/ruby/1.9.1/gems/activesupport-3.2.11/lib/active_support/dependencies.rb:317:in `rescue in depend_on': No such file to load -- spec_helper (LoadError)
2013-02-24T09:04:16+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path=/ host=whispering-journey-9991.herokuapp.com fwd="108.46.218.98" dyno= queue= wait= connect= service= status=503 bytes=

there's a load error and some deprecating warnings I havn't managed to fix. I just updated to rails 3.2.11 not sure if it's related.

gemfile:

source 'https://rubygems.org'

gem 'rails', '3.2.11'
gem 'bootstrap-sass', '2.0.4'
gem 'bcrypt-ruby', '3.0.1'
gem 'faker', '1.0.1'
gem 'will_paginate', '3.0.3'
gem 'bootstrap-will_paginate', '0.0.6'
gem 'jquery-rails', '2.0.2'
gem 'pg', '0.12.2'
gem 'rails_autolink', '~> 1.0.9'
gem 'rinku', '~> 1.5.0', :require => 'rails_rinku'
gem 'auto_html', '1.6.0'
gem 'acts_as_votable', '~> 0.4.0'
gem 'thumbs_up', '~> 0.6.2'


group :development, :test do
  gem 'rspec-rails', '2.11.0'
end

group :development do
  gem 'annotate', '2.5.0'
end

group :assets do
  gem 'sass-rails',   '3.2.5'
  gem 'coffee-rails', '3.2.2'
  gem 'uglifier', '1.2.3'
end

group :test do
  gem 'factory_girl_rails', '4.1.0'
  gem 'capybara', '1.1.2'
  gem 'cucumber-rails', '1.2.1', :require => false
  gem 'database_cleaner', '0.7.0'
end

This is the first time im pushing to heroku on this (new) computer not sure if this contributes to the problem.

I also get this error when typing git push heroku:

   Running: rake assets:precompile
   rake aborted!
   could not connect to server: Connection refused
   Is the server running on host "127.0.0.1" and accepting
   TCP/IP connections on port 5432?

Now looking into: https://devcenter.heroku.com/articles/rails3x-asset-pipeline-cedar

It looks like you are using the default WEBrick server. Heroku recommends using the 'thin' server. Try adding something like this in your Gemfile:

gem 'thin', :group => :production

Then run bundle install, commit the files with Git and push again to your heroku app. If you haven't done so, you'll need to precompile assets by tryping the following in your command line:

RAILS_ENV=production bundle exec rake assets:precompile

Then, don't forget to run your git commands:

git add .
git commit -m "added precompiled assets"
git push heroku master

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM