2015-04-28 75 views
1

我是新來的,所以如果我的帖子不符合標準,我很抱歉。如何在Heroku上使用Puma部署Michael Hartl的Rails教程應用

我在做Mike Hartl的Rails教程,在第7章結尾處,我對heroku的推動不起作用。 Heroku的規定

「應用程序錯誤應用程序發生錯誤,您的網頁 無法送達,請稍後重試。

如果您是應用的所有者,請檢查您的日誌詳細信息「。

它本地工作很好,我不知道是什麼導致它,因爲它是在第6章的結尾工作正常,我還以爲是什麼在我的寶石文件,但我註釋掉添加的兩種寶石和它做了同樣的事情。

Heroku的日誌:

2015-04-28T08:16:49.294539+00:00 heroku[web.1]: Starting process with command  `bundle exec puma -C config/puma.rb` 
2015-04-28T08:16:51.465325+00:00 app[web.1]: /app/vendor/bundle/ruby/2.0.0/gems/puma-2.11.1/lib/puma/configuration.rb:179:in `read': No such file or directory - config/puma.rb (Errno::ENOENT) 
2015-04-28T08:16:51.465349+00:00 app[web.1]: from /app/vendor/bundle/ruby/2.0.0/gems/puma-2.11.1/lib/puma/configuration.rb:179:in `_load_from' 
2015-04-28T08:16:51.465353+00:00 app[web.1]: from /app/vendor/bundle/ruby/2.0.0/gems/puma-2.11.1/lib/puma/configuration.rb:40:in `load' 
2015-04-28T08:16:51.465355+00:00 app[web.1]: from /app/vendor/bundle/ruby/2.0.0/gems/puma-2.11.1/lib/puma/cli.rb:308:in `parse_options' 
2015-04-28T08:16:51.465359+00:00 app[web.1]: from /app/vendor/bundle/ruby/2.0.0/gems/puma-2.11.1/bin/puma:10:in `<top (required)>' 
2015-04-28T08:16:51.465357+00:00 app[web.1]: from /app/vendor/bundle/ruby/2.0.0/gems/puma-2.11.1/lib/puma/cli.rb:453:in `run' 
2015-04-28T08:16:51.465361+00:00 app[web.1]: from /app/vendor/bundle/ruby/2.0.0/bin/puma:23:in `load' 
2015-04-28T08:16:51.465364+00:00 app[web.1]: from /app/vendor/bundle/ruby/2.0.0/bin/puma:23:in `<main>' 
2015-04-28T08:16:52.165317+00:00 heroku[web.1]: Process exited with status 1 
2015-04-28T08:16:52.205397+00:00 heroku[web.1]: State changed from starting to crashed 
2015-04-28T08:16:52.206353+00:00 heroku[web.1]: State changed from crashed to starting 
2015-04-28T08:16:55.767400+00:00 heroku[web.1]: Starting process with command `bundle exec puma -C config/puma.rb` 
2015-04-28T08:16:58.099736+00:00 app[web.1]: from /app/vendor/bundle/ruby/2.0.0/gems/puma-2.11.1/lib/puma/cli.rb:453:in `run' 
2015-04-28T08:16:58.099709+00:00 app[web.1]: /app/vendor/bundle/ruby/2.0.0/gems/puma-2.11.1/lib/puma/configuration.rb:179:in `read': No such file or directory - config/puma.rb (Errno::ENOENT) 
2015-04-28T08:16:58.099730+00:00 app[web.1]: from /app/vendor/bundle/ruby/2.0.0/gems/puma-2.11.1/lib/puma/configuration.rb:179:in `_load_from' 
2015-04-28T08:16:58.099732+00:00 app[web.1]: from /app/vendor/bundle/ruby/2.0.0/gems/puma-2.11.1/lib/puma/configuration.rb:40:in `load' 
2015-04-28T08:16:58.099737+00:00 app[web.1]: from /app/vendor/bundle/ruby/2.0.0/gems/puma-2.11.1/bin/puma:10:in `<top (required)>' 
2015-04-28T08:16:58.099734+00:00 app[web.1]: from /app/vendor/bundle/ruby/2.0.0/gems/puma-2.11.1/lib/puma/cli.rb:308:in `parse_options' 
2015-04-28T08:16:58.099739+00:00 app[web.1]: from /app/vendor/bundle/ruby/2.0.0/bin/puma:23:in `load' 
2015-04-28T08:16:58.099743+00:00 app[web.1]: from /app/vendor/bundle/ruby/2.0.0/bin/puma:23:in `<main>' 
2015-04-28T08:16:58.871301+00:00 heroku[web.1]: Process exited with status 1 
2015-04-28T08:16:58.885119+00:00 heroku[web.1]: State changed from starting to crashed 
2015-04-28T08:17:43.314547+00:00 heroku[api]: Starting process with command `bundle exec rake db:migrate` by [email protected] 
2015-04-28T08:17:47.723769+00:00 heroku[run.3182]: Awaiting client 
2015-04-28T08:17:47.792818+00:00 heroku[run.3182]: Starting process with command `bundle exec rake db:migrate` 
2015-04-28T08:17:48.168224+00:00 heroku[run.3182]: State changed from starting to up 
2015-04-28T08:17:55.295889+00:00 heroku[run.3182]: State changed from up to complete 
2015-04-28T08:17:55.255648+00:00 heroku[run.3182]: Process exited with status 0 
2015-04-28T08:17:56.062422+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/" host=friendapp.herokuapp.com request_id=04e23ecb-9945-4e49-a6c7-a8f96bf11a54 fwd="96.41.41.110" dyno= connect= service= status=503 bytes= 
2015-04-28T08:17:57.164362+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/favicon.ico" host=friendapp.herokuapp.com request_id=8e2f6e75-dabe-4377-a449-5f9d8414f49d fwd="96.41.41.110" dyno= connect= service= status=503 bytes= 
2015-04-28T08:17:59.359063+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/" host=friendapp.herokuapp.com request_id=bfc919b3-ed3c-4964-8190-961ca690cdca fwd="96.41.41.110" dyno= connect= service= status=503 bytes= 
2015-04-28T08:17:59.954515+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/favicon.ico" host=friendapp.herokuapp.com request_id=61f2b1d4-570e-47bd-91c1-3189ea8b5565 fwd="96.41.41.110" dyno= connect= service= status=503 bytes= 
2015-04-28T08:18:02.043668+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/" host=friendapp.herokuapp.com request_id=0ca8cede-33b8-42b4-865c-5cdc28596c55 fwd="96.41.41.110" dyno= connect= service= status=503 bytes= 
2015-04-28T08:18:02.583384+00:00 heroku[router]: at=error code=H10 desc="App  crashed" method=GET path="/favicon.ico" host=friendapp.herokuapp.com request_id=c53a196d-b2f8-4bf9-94fc-acc94c705391 fwd="96.41.41.110" dyno= connect= service= status=503 bytes= 

用戶模型:

class User < ActiveRecord::Base 
before_save { self.email = email.downcase } 
validates :name, presence: true, length: { maximum: 50 } 
VALID_EMAIL_REGEX = /\A[\w+\-.][email protected][a-z\d\-.]+\.[a-z]+\z/i 
validates :email, presence: true, length: {maximum: 200 }, 
     format: { with: VALID_EMAIL_REGEX }, 
     uniqueness: { case_sensitve: false } 
has_secure_password 
validates :password, length: { minimum: 5 } 
end 

的Gemfile:

source 'https://rubygems.org' 
gem 'rails', '4.2.1' 
gem 'bootstrap-sass',  '3.2.0.0' 
gem 'pg' 
gem 'bcrypt',    '3.1.7' 
gem 'sass-rails', '~> 5.0' 
gem 'uglifier', '>= 1.3.0' 
gem 'coffee-rails', '~> 4.1.0' 
gem 'rails_12factor' 
gem 'puma',   '2.11.1' 
gem 'jquery-rails' 
gem 'turbolinks' 
gem 'jbuilder', '~> 2.0' 
gem 'sdoc', '~> 0.4.0', group: :doc 
group :development, :test do 
gem 'byebug' 
gem 'web-console', '~> 2.0' 
gem 'spring' 
end 

它看起來像我我錯過了什麼?自從我拿出彪馬寶石後,我拿出了我的Procfile,但這似乎沒有什麼區別。不知道是否需要包括任何其他文件以及...

任何幫助將不勝感激。謝謝!

回答

5

是的,看起來你缺少配置/文件夾內的美洲獅配置。

No such file or directory - config/puma.rb (Errno::ENOENT) 

從Heroku的文檔:

https://devcenter.heroku.com/articles/deploying-rails-applications-with-the-puma-web-server#config

創建在配置/ puma.rb或您所選擇的路徑彪馬的配置文件。對於簡單的Rails應用程序,我們推薦以下基本配置:

workers Integer(ENV['WEB_CONCURRENCY'] || 2) 
threads_count = Integer(ENV['MAX_THREADS'] || 5) 
threads threads_count, threads_count 

preload_app! 

rackup  DefaultRackup 
port  ENV['PORT']  || 3000 
environment ENV['RACK_ENV'] || 'development' 

on_worker_boot do 
    # Worker specific setup for Rails 4.1+ 
    # See: https://devcenter.heroku.com/articles/deploying-rails-applications-with-the-puma-web-server#on-worker-boot 
    ActiveRecord::Base.establish_connection 
end 
相關問題