ホームページを運営するためのシンプルなSinatraアプリを作成しました。それはすでに私のコンピューターで動作しています。今はherokuでホストしたかったのですが、実行するために管理できません。私は「Gemfile」や「Procfile」のような概念にあまり精通していません。
私のrubyアプリには、Sinatra、haml、sinatra/r18nが必要です。私のgemfileは次のようになります。
source :rubygems
gem 'sinatra'
gem 'thin'
gem 'sinatra-r18n'
gem 'haml'
私のProcfileは次のようになります。
web: bundle exec ruby app.rb -p $PORT
私のapp.rbは次のように始まります:
# app.rb
require 'rubygems'
require 'sinatra'
require 'sinatra/r18n'
require 'haml'
enable :sessions
helpers do
def set_lang (langcode)
...
ディレクトリ内の他のファイルには、正しく覚えていればバンドルインストールによって作成されたGemfile.lockと、「r18n」、「public」、「views」のフォルダが含まれます。
herokuでアプリケーションを起動すると、「heroku ps」コマンドでアプリケーションは「稼働中」と表示されますが、「heroku open」を使用すると、「内部サーバーエラー」が発生します。
これが、herokuにプッシュした後の「herokuログ」です。
2012-09-15T19:34:54+00:00 heroku[slugc]: Slug compilation started
2012-09-15T19:35:01+00:00 heroku[api]: Release v13 created by -@gmail.com
2012-09-15T19:35:01+00:00 heroku[api]: Deploy bebc79e by -@gmail.com
2012-09-15T19:35:01+00:00 heroku[web.1]: State changed from up to starting
2012-09-15T19:35:01+00:00 heroku[slugc]: Slug compilation finished
2012-09-15T19:35:02+00:00 heroku[web.1]: Starting process with command `bundle exec ruby app.rb -p 54979`
2012-09-15T19:35:05+00:00 heroku[web.1]: Stopping all processes with SIGTERM
2012-09-15T19:35:05+00:00 heroku[web.1]: State changed from starting to up
2012-09-15T19:35:06+00:00 app[web.1]: == Sinatra/1.1.0 has taken the stage on 20773 for production with backup from Thin
2012-09-15T19:35:06+00:00 app[web.1]: >> Thin web server (v1.4.1 codename Chromeo)
2012-09-15T19:35:06+00:00 app[web.1]: >> Maximum connections set to 1024
2012-09-15T19:35:06+00:00 app[web.1]: >> Listening on 0.0.0.0:20773, CTRL+C to stop
2012-09-15T19:35:06+00:00 app[web.1]: >> Stopping ...
2012-09-15T19:35:06+00:00 app[web.1]:
2012-09-15T19:35:06+00:00 app[web.1]: == Sinatra has ended his set (crowd applauds)
2012-09-15T19:35:07+00:00 heroku[web.1]: Process exited with status 0
ここで何が問題になっているのか誰かが考えていますか?使用されている概念に精通している場合は、おそらく明らかなことです。また、問題を解決するのに役立つ資料のヒントを取りますが、これまで、すべてのグーグル/読書は役に立ちませんでした。
アップデート28-09 コードからProcfileを削除しても、「内部サーバーエラー」が発生します。クラッシュを含むはずのログを次に示します。
2012-09-28T18:04:50+00:00 heroku[web.1]: State changed from down to starting
2012-09-28T18:04:58+00:00 heroku[web.1]: Starting process with command `bundle exec thin start -R config.ru -e production -p 30813`
2012-09-28T18:05:01+00:00 heroku[web.1]: State changed from starting to up
2012-09-28T18:05:02+00:00 app[web.1]: /app/views/start.haml:1:in `evaluate_source'
2012-09-28T18:05:02+00:00 app[web.1]: /app/vendor/bundle/ruby/1.9.1/gems/tilt-1.3.3/lib/tilt/template.rb:209:in `instance_eval'
2012-09-28T18:05:02+00:00 app[web.1]: Encoding::CompatibilityError - incompatible character encodings: ASCII-8BIT and UTF-8:
2012-09-28T18:05:02+00:00 app[web.1]: /app/vendor/bundle/ruby/1.9.1/gems/tilt-1.3.3/lib/tilt/template.rb:209:in `evaluate_source'
2012-09-28T18:05:02+00:00 app[web.1]: /app/vendor/bundle/ruby/1.9.1/gems/tilt-1.3.3/lib/tilt/template.rb:127:in `evaluate'
2012-09-28T18:05:02+00:00 app[web.1]: /app/vendor/bundle/ruby/1.9.1/gems/tilt-1.3.3/lib/tilt/template.rb:144:in `cached_evaluate'
2012-09-28T18:05:02+00:00 app[web.1]: /app/vendor/bundle/ruby/1.9.1/gems/tilt-1.3.3/lib/tilt/haml.rb:24:in `evaluate'
2012-09-28T18:05:02+00:00 app[web.1]: /app/vendor/bundle/ruby/1.9.1/gems/tilt-1.3.3/lib/tilt/template.rb:76:in `render'
2012-09-28T18:05:02+00:00 app[web.1]: /app/vendor/bundle/ruby/1.9.1/gems/sinatra-1.1.0/lib/sinatra/base.rb:452:in `render'
2012-09-28T18:05:02+00:00 app[web.1]: /app/app.rb:28:in `block in <top (required)>'
2012-09-28T18:05:02+00:00 app[web.1]: /app/vendor/bundle/ruby/1.9.1/gems/sinatra-1.1.0/lib/sinatra/base.rb:370:in `haml'
2012-09-28T18:05:02+00:00 app[web.1]: /app/vendor/bundle/ruby/1.9.1/gems/sinatra-1.1.0/lib/sinatra/base.rb:1032:in `call'
2012-09-28T18:05:02+00:00 app[web.1]: /app/vendor/bundle/ruby/1.9.1/gems/sinatra-1.1.0/lib/sinatra/base.rb:1032:in `block in compile!'
2012-09-28T18:05:02+00:00 app[web.1]: /app/vendor/bundle/ruby/1.9.1/gems/sinatra-1.1.0/lib/sinatra/base.rb:620:in `instance_eval'
2012-09-28T18:05:02+00:00 app[web.1]: /app/vendor/bundle/ruby/1.9.1/gems/sinatra-1.1.0/lib/sinatra/base.rb:620:in `route_eval'
2012-09-28T18:05:02+00:00 app[web.1]: /app/vendor/bundle/ruby/1.9.1/gems/sinatra-1.1.0/lib/sinatra/base.rb:656:in `block in process_route'
2012-09-28T18:05:02+00:00 app[web.1]: /app/vendor/bundle/ruby/1.9.1/gems/sinatra-1.1.0/lib/sinatra/base.rb:653:in `catch'
2012-09-28T18:05:02+00:00 app[web.1]: /app/vendor/bundle/ruby/1.9.1/gems/sinatra-1.1.0/lib/sinatra/base.rb:604:in `block (2 levels) in route!'
2012-09-28T18:05:02+00:00 app[web.1]: /app/vendor/bundle/ruby/1.9.1/gems/sinatra-1.1.0/lib/sinatra/base.rb:653:in `process_route'
2012-09-28T18:05:02+00:00 app[web.1]: /app/vendor/bundle/ruby/1.9.1/gems/sinatra-1.1.0/lib/sinatra/base.rb:603:in `block in route!'
2012-09-28T18:05:02+00:00 app[web.1]: /app/vendor/bundle/ruby/1.9.1/gems/sinatra-1.1.0/lib/sinatra/base.rb:602:in `each'
2012-09-28T18:05:02+00:00 app[web.1]: /app/vendor/bundle/ruby/1.9.1/gems/sinatra-1.1.0/lib/sinatra/base.rb:602:in `route!'
2012-09-28T18:05:02+00:00 app[web.1]: /app/vendor/bundle/ruby/1.9.1/gems/sinatra-1.1.0/lib/sinatra/base.rb:530:in `block in call!'
2012-09-28T18:05:02+00:00 app[web.1]: /app/vendor/bundle/ruby/1.9.1/gems/sinatra-1.1.0/lib/sinatra/base.rb:706:in `instance_eval'
2012-09-28T18:05:02+00:00 app[web.1]: /app/vendor/bundle/ruby/1.9.1/gems/sinatra-1.1.0/lib/sinatra/base.rb:741:in `dispatch!'
2012-09-28T18:05:02+00:00 app[web.1]: /app/vendor/bundle/ruby/1.9.1/gems/sinatra-1.1.0/lib/sinatra/base.rb:706:in `block in invoke'
2012-09-28T18:05:02+00:00 app[web.1]: /app/vendor/bundle/ruby/1.9.1/gems/sinatra-1.1.0/lib/sinatra/base.rb:706:in `catch'
2012-09-28T18:05:02+00:00 heroku[router]: GET fierce-crag-6255.herokuapp.com/ dyno=web.1 queue=0 wait=0ms service=73ms status=500 bytes=30
2012-09-28T18:05:02+00:00 app[web.1]: /app/vendor/bundle/ruby/1.9.1/gems/sinatra-1.1.0/lib/sinatra/base.rb:706:in `invoke'
2012-09-28T18:05:02+00:00 app[web.1]: /app/vendor/bundle/ruby/1.9.1/gems/sinatra-1.1.0/lib/sinatra/base.rb:516:in `call'
2012-09-28T18:05:02+00:00 app[web.1]: /app/vendor/bundle/ruby/1.9.1/gems/sinatra-1.1.0/lib/sinatra/base.rb:530:in `call!'
2012-09-28T18:05:02+00:00 app[web.1]: /app/vendor/bundle/ruby/1.9.1/gems/sinatra-1.1.0/lib/sinatra/base.rb:1168:in `synchronize'
2012-09-28T18:05:02+00:00 app[web.1]: /app/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/lib/rack/session/abstract/id.rb:200:in `call'
2012-09-28T18:05:02+00:00 app[web.1]: /app/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/lib/rack/methodoverride.rb:21:in `call'
2012-09-28T18:05:02+00:00 app[web.1]: /app/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/lib/rack/commonlogger.rb:20:in `call'
2012-09-28T18:05:02+00:00 app[web.1]: /app/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/lib/rack/session/abstract/id.rb:205:in `context'
2012-09-28T18:05:02+00:00 app[web.1]: /app/vendor/bundle/ruby/1.9.1/gems/sinatra-1.1.0/lib/sinatra/base.rb:1142:in `block in call'
2012-09-28T18:05:02+00:00 app[web.1]: /app/vendor/bundle/ruby/1.9.1/gems/thin-1.4.1/lib/thin/connection.rb:80:in `block in pre_process'
2012-09-28T18:05:02+00:00 app[web.1]: /app/vendor/bundle/ruby/1.9.1/gems/thin-1.4.1/lib/thin/connection.rb:53:in `process'
2012-09-28T18:05:02+00:00 app[web.1]: /app/vendor/bundle/ruby/1.9.1/gems/thin-1.4.1/lib/thin/connection.rb:78:in `pre_process'
2012-09-28T18:05:02+00:00 app[web.1]: /app/vendor/bundle/ruby/1.9.1/gems/thin-1.4.1/lib/thin/connection.rb:38:in `receive_data'
2012-09-28T18:05:02+00:00 app[web.1]: /app/vendor/bundle/ruby/1.9.1/gems/thin-1.4.1/lib/thin/connection.rb:78:in `catch'
2012-09-28T18:05:02+00:00 app[web.1]: /app/vendor/bundle/ruby/1.9.1/gems/eventmachine-0.12.10/lib/eventmachine.rb:256:in `run'
2012-09-28T18:05:02+00:00 app[web.1]: /app/vendor/bundle/ruby/1.9.1/gems/sinatra-1.1.0/lib/sinatra/base.rb:1142:in `call'
2012-09-28T18:05:02+00:00 app[web.1]: /app/vendor/bundle/ruby/1.9.1/gems/thin-1.4.1/lib/thin/backends/base.rb:63:in `start'
2012-09-28T18:05:02+00:00 app[web.1]: /app/vendor/bundle/ruby/1.9.1/gems/eventmachine-0.12.10/lib/eventmachine.rb:256:in `run_machine'
2012-09-28T18:05:02+00:00 app[web.1]: /app/vendor/bundle/ruby/1.9.1/gems/thin-1.4.1/lib/thin/server.rb:159:in `start'
2012-09-28T18:05:02+00:00 app[web.1]: /app/vendor/bundle/ruby/1.9.1/gems/thin-1.4.1/lib/thin/controllers/controller.rb:86:in `start'
2012-09-28T18:05:02+00:00 app[web.1]: /app/vendor/bundle/ruby/1.9.1/gems/thin-1.4.1/lib/thin/runner.rb:185:in `run_command'
2012-09-28T18:05:02+00:00 app[web.1]: /app/vendor/bundle/ruby/1.9.1/gems/thin-1.4.1/lib/thin/runner.rb:151:in `run!'
2012-09-28T18:05:02+00:00 app[web.1]: /app/vendor/bundle/ruby/1.9.1/gems/thin-1.4.1/bin/thin:6:in `<top (required)>'
2012-09-28T18:05:02+00:00 app[web.1]: /app/vendor/bundle/ruby/1.9.1/bin/thin:19:in `load'
2012-09-28T18:05:02+00:00 app[web.1]: /app/vendor/bundle/ruby/1.9.1/bin/thin:19:in `<main>'
2012-09-28T18:05:02+00:00 app[web.1]: 212.90.85.15 - - [28/Sep/2012 18:05:02] "GET / HTTP/1.1" 500 30 0.0591
2012-09-28T18:05:03+00:00 app[web.1]: 212.90.85.15 - - [28/Sep/2012 18:05:03] "GET /favicon.ico HTTP/1.1" 200 1416 0.0109
2012-09-28T18:05:03+00:00 heroku[router]: GET fierce-crag-6255.herokuapp.com/favicon.ico dyno=web.1 queue=0 wait=0ms service=13ms status=200 bytes=1416
2012-09-28T18:05:03+00:00 heroku[router]: GET fierce-crag-6255.herokuapp.com/favicon.ico dyno=web.1 queue=0 wait=0ms service=4ms status=200 bytes=1416
2012-09-28T18:05:03+00:00 app[web.1]: 212.90.85.15 - - [28/Sep/2012 18:05:03] "GET /favicon.ico HTTP/1.1" 200 1416 0.0026