Ошибка приложения Heroku при использовании команды Heroku create

#ruby-on-rails #ruby #postgresql #heroku #sqlite3-ruby

#ruby-on-rails #ruby #postgresql #heroku #sqlite3-ruby

Вопрос:

Я следую руководству по http://onemonth.com где я создал свое приложение rails. Меня попросили использовать Heroku, чтобы мое приложение работало онлайн. Я выполнил шаги по привязке моей учетной записи Github к Heroku с помощью SSH-ключа. Однако, когда я использую команду heroku create , а затем копирую указанную ссылку, в этом случае http://young-peak-7631.herokuapp.com /, я получаю сообщение «Ошибка приложения» в браузере.

Это точное сообщение:

«В приложении произошла ошибка, и ваша страница не может быть обработана. Пожалуйста, повторите попытку через несколько минут.Если вы являетесь владельцем приложения, проверьте свои журналы для получения подробной информации. «

Смотрите Изображение страницы ошибок Heroku ниже
введите описание изображения здесь
, вот мои журналы:

        2014-07-01T06:50:55.157229 00:00 app[web.1]:   Rendered layouts/_header.html.erb (0.7ms)
2014-07-01T06:50:56.211672 00:00 heroku[router]: at=info method=GET path="/about" host=omr-photoshare.herokuapp.com request_id=0b8e9a43-5ffd-4bae-aa4f-61e9f87dfdfc fwd="65.78.4.236" dyno=web.1 connect=2ms service=192ms status=304 bytes=845
2014-07-01T06:50:56.025883 00:00 app[web.1]: Started GET "/about" for 65.78.4.236 at 2014-07-01 06:50:56  0000
2014-07-01T06:50:56.082614 00:00 app[web.1]:   Rendered pages/about.html.erb within layouts/application (0.2ms)
2014-07-01T06:50:56.174581 00:00 app[web.1]: Completed 200 OK in 95ms (Views: 7.0ms | ActiveRecord: 86.8ms)
2014-07-01T06:50:56.079586 00:00 app[web.1]: Processing by PagesController#about as HTML
2014-07-01T06:50:56.173874 00:00 app[web.1]:   Rendered layouts/_header.html.erb (90.3ms)
2014-07-01T06:50:57.026362 00:00 heroku[router]: at=info method=GET path="/users/edit" host=omr-photoshare.herokuapp.com request_id=9e7dbd9b-1e90-4cf0-b422-a39fc4dd86af fwd="65.78.4.236" dyno=web.1 connect=4ms service=26ms status=200 bytes=4509
2014-07-01T06:50:57.023820 00:00 app[web.1]:   Rendered devise/registrations/edit.html.erb within layouts/application (6.5ms)
2014-07-01T06:50:57.007189 00:00 app[web.1]: Started GET "/users/edit" for 65.78.4.236 at 2014-07-01 06:50:57  0000
2014-07-01T06:50:57.027133 00:00 app[web.1]: Completed 200 OK in 16ms (Views: 12.8ms | ActiveRecord: 1.3ms)
2014-07-01T06:50:57.010704 00:00 app[web.1]: Processing by Devise::RegistrationsController#edit as HTML
2014-07-01T06:50:57.026562 00:00 app[web.1]:   Rendered layouts/_header.html.erb (0.5ms)
2014-07-01T06:50:58.037348 00:00 heroku[router]: at=info method=POST path="/users/sign_out" host=omr-photoshare.herokuapp.com request_id=62ed2279-f63e-4c4f-9721-7b1361348276 fwd="65.78.4.236" dyno=web.1 connect=32ms service=41ms status=302 bytes=931
2014-07-01T06:50:58.138958 00:00 heroku[router]: at=info method=GET path="/" host=omr-photoshare.herokuapp.com request_id=d36b09ab-feb9-4e13-8b07-97bda734f4cd fwd="65.78.4.236" dyno=web.1 connect=1ms service=72ms status=200 bytes=2809
2014-07-01T06:50:58.004542 00:00 app[web.1]: Started DELETE "/users/sign_out" for 65.78.4.236 at 2014-07-01 06:50:58  0000
2014-07-01T06:50:58.034982 00:00 app[web.1]: Completed 302 Found in 25ms (ActiveRecord: 12.2ms)
2014-07-01T06:50:58.119933 00:00 app[web.1]: Processing by PagesController#home as HTML
2014-07-01T06:50:58.137550 00:00 app[web.1]:   Rendered layouts/_header.html.erb (0.5ms)
2014-07-01T06:50:58.009338 00:00 app[web.1]: Processing by Devise::SessionsController#destroy as HTML
2014-07-01T06:50:58.116047 00:00 app[web.1]: Started GET "/" for 65.78.4.236 at 2014-07-01 06:50:58  0000
2014-07-01T06:50:58.009357 00:00 app[web.1]:   Parameters: {"authenticity_token"=>"5AnEyKY75EbCUcrc50OZjx2MOguNlKFceSaDg5DoFzw="}
2014-07-01T06:50:58.136033 00:00 app[web.1]:   Rendered pages/home.html.erb within layouts/application (14.2ms)
2014-07-01T06:50:58.034741 00:00 app[web.1]: Redirected to http://omr-photoshare.herokuapp.com/
2014-07-01T06:50:58.138057 00:00 app[web.1]: Completed 200 OK in 18ms (Views: 16.7ms | ActiveRecord: 0.0ms)
2014-07-01T06:51:00.169842 00:00 heroku[router]: at=info method=GET path="/users/sign_in" host=omr-photoshare.herokuapp.com request_id=102f1369-f2c7-4c60-95fd-fdcf94c91f3b fwd="65.78.4.236" dyno=web.1 connect=1ms service=95ms status=200 bytes=3735
2014-07-01T06:51:00.148527 00:00 app[web.1]: Started GET "/users/sign_in" for 65.78.4.236 at 2014-07-01 06:51:00  0000
2014-07-01T06:51:00.163967 00:00 app[web.1]:   Rendered devise/shared/_links.erb (1.7ms)
2014-07-01T06:51:00.164009 00:00 app[web.1]:   Rendered devise/sessions/new.html.erb within layouts/application (6.6ms)
2014-07-01T06:51:00.165306 00:00 app[web.1]:   Rendered layouts/_header.html.erb (0.7ms)
2014-07-01T06:51:00.152352 00:00 app[web.1]: Processing by Devise::SessionsController#new as HTML
2014-07-01T06:51:00.165745 00:00 app[web.1]: Completed 200 OK in 13ms (Views: 10.2ms | ActiveRecord: 0.0ms)
2014-07-01T06:51:01.519186 00:00 heroku[router]: at=info method=POST path="/users/sign_in" host=omr-photoshare.herokuapp.com request_id=2e71a5f1-e10a-4158-af5c-6f80f8aac4a3 fwd="65.78.4.236" dyno=web.1 connect=9ms service=144ms status=302 bytes=1041
2014-07-01T06:51:01.575579 00:00 heroku[router]: at=info method=GET path="/" host=omr-photoshare.herokuapp.com request_id=304d9c4f-d607-4f37-aa75-bf07c48ace45 fwd="65.78.4.236" dyno=web.1 connect=3ms service=25ms status=200 bytes=2911
2014-07-01T06:51:01.571496 00:00 app[web.1]: Processing by PagesController#home as HTML
2014-07-01T06:51:01.518046 00:00 app[web.1]: Completed 302 Found in 133ms (ActiveRecord: 12.5ms)
2014-07-01T06:51:01.381342 00:00 app[web.1]: Started POST "/users/sign_in" for 65.78.4.236 at 2014-07-01 06:51:01  0000
2014-07-01T06:51:01.576450 00:00 app[web.1]:   Rendered layouts/_header.html.erb (0.5ms)
2014-07-01T06:51:01.384466 00:00 app[web.1]: Processing by Devise::SessionsController#create as HTML
2014-07-01T06:51:01.384511 00:00 app[web.1]:   Parameters: {"utf8"=>"✓", "authenticity_token"=>" 8dZCduvFyzofV4G28jmxjsOXYrweHJ cdJe3lEWPTQ=", "user"=>{"email"=>"cghazanfar10@gmail.com", "password"=>"[FILTERED]", "remember_me"=>"0"}, "commit"=>"Sign in"}
2014-07-01T06:51:01.517874 00:00 app[web.1]: Redirected to http://omr-photoshare.herokuapp.com/
2014-07-01T06:51:01.568980 00:00 app[web.1]: Started GET "/" for 65.78.4.236 at 2014-07-01 06:51:01  0000
2014-07-01T06:51:01.575119 00:00 app[web.1]:   Rendered pages/home.html.erb within layouts/application (2.4ms)
2014-07-01T06:51:01.576943 00:00 app[web.1]: Completed 200 OK in 5ms (Views: 3.1ms | ActiveRecord: 1.4ms)
2014-07-01T07:53:44.045215 00:00 heroku[web.1]: State changed from up to down
2014-07-01T07:53:44.044809 00:00 heroku[web.1]: Idling
2014-07-01T07:53:47.433692 00:00 app[web.1]: [2014-07-01 07:53:47] FATAL SignalException: SIGTERM
2014-07-01T07:53:47.433697 00:00 app[web.1]:    /app/vendor/ruby-2.0.0/lib/ruby/2.0.0/webrick/server.rb:170:in `select'
2014-07-01T07:53:47.433700 00:00 app[web.1]:    /app/vendor/ruby-2.0.0/lib/ruby/2.0.0/webrick/server.rb:170:in `block in start'
2014-07-01T07:53:47.433702 00:00 app[web.1]:    /app/vendor/ruby-2.0.0/lib/ruby/2.0.0/webrick/server.rb:32:in `start'
2014-07-01T07:53:47.433704 00:00 app[web.1]:    /app/vendor/ruby-2.0.0/lib/ruby/2.0.0/webrick/server.rb:160:in `start'
2014-07-01T07:53:47.433753 00:00 app[web.1]:    /app/vendor/bundle/ruby/2.0.0/gems/rack-1.5.2/lib/rack/handler/webrick.rb:14:in `run'
2014-07-01T07:53:47.433755 00:00 app[web.1]:    /app/vendor/bundle/ruby/2.0.0/gems/rack-1.5.2/lib/rack/server.rb:264:in `start'
2014-07-01T07:53:47.433757 00:00 app[web.1]:    /app/vendor/bundle/ruby/2.0.0/gems/railties-4.1.1/lib/rails/commands/server.rb:69:in `start'
2014-07-01T07:53:47.433758 00:00 app[web.1]:    /app/vendor/bundle/ruby/2.0.0/gems/railties-4.1.1/lib/rails/commands/commands_tasks.rb:81:in `block in server'
2014-07-01T07:53:47.433760 00:00 app[web.1]:    /app/vendor/bundle/ruby/2.0.0/gems/railties-4.1.1/lib/rails/commands/commands_tasks.rb:76:in `tap'
2014-07-01T07:53:47.433761 00:00 app[web.1]:    /app/vendor/bundle/ruby/2.0.0/gems/railties-4.1.1/lib/rails/commands/commands_tasks.rb:76:in `server'
2014-07-01T07:53:47.433763 00:00 app[web.1]:    /app/vendor/bundle/ruby/2.0.0/gems/railties-4.1.1/lib/rails/commands/commands_tasks.rb:40:in `run_command!'
2014-07-01T07:53:47.433764 00:00 app[web.1]:    /app/vendor/bundle/ruby/2.0.0/gems/railties-4.1.1/lib/rails/commands.rb:17:in `<top (required)>'
2014-07-01T07:53:47.433766 00:00 app[web.1]:    bin/rails:8:in `require'
2014-07-01T07:53:47.433767 00:00 app[web.1]:    bin/rails:8:in `<main>'
2014-07-01T07:53:47.433773 00:00 app[web.1]: [2014-07-01 07:53:47] INFO  going to shutdown ...
2014-07-01T07:53:47.433817 00:00 app[web.1]: [2014-07-01 07:53:47] INFO  WEBrick::HTTPServer#start done.
2014-07-01T07:53:47.433890 00:00 app[web.1]: Exiting
2014-07-01T07:53:49.611381 00:00 heroku[web.1]: Process exited with status 143
2014-07-01T07:53:46.855962 00:00 heroku[web.1]: Stopping all processes with SIGTERM
2014-07-01T15:33:01.545336 00:00 heroku[web.1]: Unidling
2014-07-01T15:33:01.545628 00:00 heroku[web.1]: State changed from down to starting
2014-07-01T15:33:08.727524 00:00 app[web.1]: [2014-07-01 15:33:08] INFO  WEBrick 1.3.1
2014-07-01T15:33:08.727547 00:00 app[web.1]: [2014-07-01 15:33:08] INFO  ruby 2.0.0 (2014-05-08) [x86_64-linux]
2014-07-01T15:33:08.727961 00:00 app[web.1]: [2014-07-01 15:33:08] INFO  WEBrick::HTTPServer#start: pid=2 port=36532
2014-07-01T15:33:04.638475 00:00 heroku[web.1]: Starting process with command `bin/rails server -p 36532 -e production`
2014-07-01T15:33:09.317544 00:00 heroku[web.1]: State changed from starting to up
2014-07-01T15:33:10.624767 00:00 heroku[router]: at=info method=GET path="/favicon.ico" host=omr-photoshare.herokuapp.com request_id=10c1d02a-1e17-4a48-9838-c35c2d530b52 fwd="66.249.83.39" dyno=web.1 connect=4ms service=8ms status=200 bytes=228
2014-07-01T16:38:20.572132 00:00 heroku[web.1]: State changed from up to down
2014-07-01T16:38:20.571809 00:00 heroku[web.1]: Idling
2014-07-01T16:38:25.614240 00:00 app[web.1]: [2014-07-01 16:38:25] FATAL SignalException: SIGTERM
2014-07-01T16:38:25.614249 00:00 app[web.1]:    /app/vendor/ruby-2.0.0/lib/ruby/2.0.0/webrick/server.rb:170:in `select'
2014-07-01T16:38:25.614252 00:00 app[web.1]:    /app/vendor/ruby-2.0.0/lib/ruby/2.0.0/webrick/server.rb:170:in `block in start'
2014-07-01T16:38:25.614254 00:00 app[web.1]:    /app/vendor/ruby-2.0.0/lib/ruby/2.0.0/webrick/server.rb:32:in `start'
2014-07-01T16:38:25.614255 00:00 app[web.1]:    /app/vendor/ruby-2.0.0/lib/ruby/2.0.0/webrick/server.rb:160:in `start'
2014-07-01T16:38:25.614257 00:00 app[web.1]:    /app/vendor/bundle/ruby/2.0.0/gems/rack-1.5.2/lib/rack/handler/webrick.rb:14:in `run'
2014-07-01T16:38:25.614260 00:00 app[web.1]:    /app/vendor/bundle/ruby/2.0.0/gems/railties-4.1.1/lib/rails/commands/server.rb:69:in `start'
2014-07-01T16:38:25.614258 00:00 app[web.1]:    /app/vendor/bundle/ruby/2.0.0/gems/rack-1.5.2/lib/rack/server.rb:264:in `start'
2014-07-01T16:38:25.614262 00:00 app[web.1]:    /app/vendor/bundle/ruby/2.0.0/gems/railties-4.1.1/lib/rails/commands/commands_tasks.rb:81:in `block in server'
2014-07-01T16:38:25.614268 00:00 app[web.1]:    /app/vendor/bundle/ruby/2.0.0/gems/railties-4.1.1/lib/rails/commands.rb:17:in `<top (required)>'
2014-07-01T16:38:25.614263 00:00 app[web.1]:    /app/vendor/bundle/ruby/2.0.0/gems/railties-4.1.1/lib/rails/commands/commands_tasks.rb:76:in `tap'
2014-07-01T16:38:25.614342 00:00 app[web.1]: [2014-07-01 16:38:25] INFO  going to shutdown ...
2014-07-01T16:38:25.614455 00:00 app[web.1]: => Ctrl-C to shutdown server
2014-07-01T16:38:25.614272 00:00 app[web.1]:    bin/rails:8:in `<main>'
2014-07-01T16:38:25.614452 00:00 app[web.1]: => Run `rails server -h` for more startup options
2014-07-01T16:38:25.614265 00:00 app[web.1]:    /app/vendor/bundle/ruby/2.0.0/gems/railties-4.1.1/lib/rails/commands/commands_tasks.rb:76:in `server'
2014-07-01T16:38:25.614266 00:00 app[web.1]:    /app/vendor/bundle/ruby/2.0.0/gems/railties-4.1.1/lib/rails/commands/commands_tasks.rb:40:in `run_command!'
2014-07-01T16:38:25.614270 00:00 app[web.1]:    bin/rails:8:in `require'
2014-07-01T16:38:25.614406 00:00 app[web.1]: [2014-07-01 16:38:25] INFO  WEBrick::HTTPServer#start done.
2014-07-01T16:38:25.614450 00:00 app[web.1]: => Rails 4.1.1 application starting in production on http://0.0.0.0:36532
2014-07-01T16:38:25.614475 00:00 app[web.1]: Exiting
2014-07-01T16:38:25.614448 00:00 app[web.1]: => Booting WEBrick
2014-07-01T16:38:25.614453 00:00 app[web.1]: => Notice: server is listening on all interfaces (0.0.0.0). Consider using 127.0.0.1 (--binding option)
2014-07-01T16:38:24.918023 00:00 heroku[web.1]: Stopping all processes with SIGTERM
2014-07-01T16:38:28.512103 00:00 heroku[web.1]: Process exited with status 143
  

Я просмотрел некоторые ответы на эту проблему. Большинство людей говорят, что Heroku не поддерживает sqlite3 и что мне нужно преобразовать мою базу данных в PostgreSQL

Дополнительная информация:

Gemfile

     source 'https://rubygems.org'
gem 'rails', '4.1.1'

gem 'sass-rails', '~> 4.0.3'
gem 'uglifier', '>= 1.3.0'
gem 'coffee-rails', '~> 4.0.0'
gem 'jquery-rails'
gem 'turbolinks'
gem 'jbuilder', '~> 2.0'
gem 'bootstrap-sass'

group :development, :test do
     gem 'sqlite3'
end

group :production do
     gem 'pg'
     gem 'rails_12factor'
end

gem 'sdoc', '~> 0.4.0',          group: :doc
gem 'spring',        group: :development
  

config/database.yml

 default: amp;default
  adapter: sqlite3
  pool: 5
  timeout: 5000

development:
  <<: *default
  database: db/development.sqlite3


test:
  <<: *default
  database: db/test.sqlite3

production:
  <<: *default
  database: db/production.sqlite3
  

Спасибо за любую будущую помощь…

Комментарии:

1. Попробуйте перезапустить свое приложение Heroku heroku restart -a app_name . Обычно вам не нужно дополнительно настраивать базу данных PG на heroku (для OMR до сих пор). Проверьте миграцию и, если необходимо, поскольку вы находитесь на курсе, вы можете отказаться и снова создать свою базу данных.

2. Пробовал это уже, но все равно получаю ту же страницу с ошибкой.

3. не могли бы вы опубликовать свой репозиторий github, из которого вы отправляете его в heroku?

4. Да, вот оно : github.com/cyzanfar/Photoshare

5. Ваш gemfile не обновляется!

Ответ №1:

Самый простой способ решить эту проблему — создать производственную группу в вашем Gemfile :

 group :production do
  gem 'pg'
end
  

Затем в вашем терминале (в пути к проекту) запустите:

 bundle install 
  

После успешного завершения вашего пакета вам необходимо изменить файл config / database.yml :

 production:
  adapter: postgresql
  encoding: utf8
  database: your_database_name
  pool: 5
  username: postgres_username
  password: postgres_password
  host: 127.0.0.1
  

Это должно решить вашу проблему с изменением адаптера базы данных.
PS. Позаботьтесь об отступах в файле database.yml, это важно.

Ответ №2:

DB

Ваша проблема почти наверняка связана с БД (как вы уже предположили)

В Heroku есть два типа ошибок — стандартные ошибки «Rails» и ошибки платформы Heroku:

Ошибка Rails

введите описание изображения здесь

Ошибка Heroku

введите описание изображения здесь

Ошибка

Эти ошибки являются стандартными для приложений Rails, работающих на Heroku — разница в том, что ошибка Rails является производной от самого приложения Rails; ошибка Heroku возникает с платформы Heroku

Ошибки Heroku по сути означают, что ваше приложение не может загружаться по какой-либо причине; обычно потому, что оно не может подключиться к вашей БД или в БД нет нужных таблиц данных.

Чтобы исправить это, сначала необходимо убедиться, что вы используете производственную базу данных (настоятельно рекомендуется использовать базу данных Postgres DB Heroku):

 #config/database.yml
production:
  ....
  

После того, как вы настроили и Heroku выполнили эту настройку, вам необходимо убедиться, что база данных заполнена правильными таблицами. Для этого запустите heroku run rake db:migrate в своем локальном cmd


Обновить

Чтобы убедиться, что у вас есть производственная база данных, используйте базу данных Heroku Postgres, которая должна входить в стандартную комплектацию панели управления вашего приложения Heroku

Если вам нужно добавить Heroku postgres db на свою панель мониторинга, вам просто нужно добавить add-on here

Как только база данных появится на вашей панели инструментов, щелкните по ней, и она должна появиться с интерфейсом Postgres. Вы можете увидеть, как подключиться к БД в Ruby здесь; вы должны использовать сведения, предоставленные надстройкой Postgress на панели управления вашего приложения

Как правило, Heroku-совместимый database.yml будет выглядеть следующим образом:

 #config/database.yml
production:
  adapter: postgresql
  encoding: utf8
  database: *********
  pool: 5
  username: *********    #-> *** data from heroku's postgres user details page
  password: ******
  host: ******
  

Комментарии:

1. Я не уверен, как мне следует изменить мой файл config / database.yml. Не могли бы вы подробнее рассказать об этом?

2. Заузай опубликовал то, что вам нужно включить в сам файл; что касается содержимого — вы можете получить информацию о своей базе данных у Heroku. Я могу написать об этом немного подробнее, если вы конкретны?

3. Хорошо, написал @zauzaj production: adapter: postgresql encoding: utf8 database: your_database_name pool: 5 username: postgres_username password: postgres_password host: 127.0.0.1 . однако я не знаю имя своей базы данных и имя пользователя / пароль. Я следую онлайн-руководству, мы еще не играли с какой-либо базой данных.

4. Хорошо, мои извинения — я имел в виду структуру , которую вы поместили в производственную часть, — это то, что он написал. С точки зрения фактических данных, лучший способ — получить базу данных Heroku Postgres и использовать ее. Я могу провести вас через этот процесс, если хотите?

5. Потрясающе. Я запустил свое приложение rails git push heroku master , и теперь оно работает. Я больше не получаю страницу «ошибка приложения». Спасибо, приятель!!

Ответ №3:

Вы должны изменить свой Gemfile, Heroku не нравится SQLite

 gem 'uglifier', '>= 1.3.0'
gem 'coffee-rails', '~> 4.0.0'
gem 'jquery-rails'
gem 'turbolinks'
gem 'jbuilder', '~> 2.0'
gem 'bootstrap-sass'


group :development, :test do
  gem 'spring'
  gem 'sqlite3'
end

group :production do
  gem 'pg'
  gem 'rails_12factor'
end
  

Вы всегда можете для справки взглянуть на месячный репозиторий Rails Github.