Gemfileに以下の内容を追記しておくと「thin」で立ち上がるはずなのに、なぜか「WEBrick」でサーバーが立ち上がる。
group :development do gem 'thin' end
$ rails s => Booting WEBrick => Rails 3.2.3 application starting in development on http://0.0.0.0:3000 => Call with -d to detach => Ctrl-C to shutdown server [2012-05-13 22:12:21] INFO WEBrick 1.3.1 [2012-05-13 22:12:21] INFO ruby 1.9.3 (2012-05-04) [i686-linux] [2012-05-13 22:12:21] INFO WEBrick::HTTPServer#start: pid=2767 port=3000 [2012-05-13 22:12:45] ERROR NoMethodError: undefined method `page_cache_extension' for ActionController::Base:Class /home/username/.rvm/gems/ruby-1.9.3-head@rails3/gems/actionpack-3.2.3/lib/action_dispatch/middleware/static.rb:31:in `ext' /home/username/.rvm/gems/ruby-1.9.3-head@rails3/gems/actionpack-3.2.3/lib/action_dispatch/middleware/static.rb:15:in `match?' /home/username/.rvm/gems/ruby-1.9.3-head@rails3/gems/actionpack-3.2.3/lib/action_dispatch/middleware/static.rb:56:in `call' /home/username/.rvm/gems/ruby-1.9.3-head@rails3/gems/railties-3.2.3/lib/rails/engine.rb:479:in `call' /home/username/.rvm/gems/ruby-1.9.3-head@rails3/gems/railties-3.2.3/lib/rails/application.rb:220:in `call' /home/username/.rvm/gems/ruby-1.9.3-head@rails3/gems/rack-1.4.1/lib/rack/content_length.rb:14:in `call' /home/username/.rvm/gems/ruby-1.9.3-head@rails3/gems/railties-3.2.3/lib/rails/rack/log_tailer.rb:14:in `call' /home/username/.rvm/gems/ruby-1.9.3-head@rails3/gems/rack-1.4.1/lib/rack/handler/webrick.rb:59:in `service' /home/username/.rvm/rubies/ruby-1.9.3-head/lib/ruby/1.9.1/webrick/httpserver.rb:138:in `service' /home/username/.rvm/rubies/ruby-1.9.3-head/lib/ruby/1.9.1/webrick/httpserver.rb:94:in `run' /home/username/.rvm/rubies/ruby-1.9.3-head/lib/ruby/1.9.1/webrick/server.rb:191:in `block in start_thread' [2012-05-13 22:12:47] WARN Could not determine content-length of response body. Set content-length of the response or set Response#chunked = true
試しにthin startしてみる。
thin start >> Using rack adapter >> Thin web server (v1.3.1 codename Triple Espresso) >> Maximum connections set to 1024 >> Listening on 0.0.0.0:3000, CTRL+C to stop
問題なく立ち上がる。
detabase.ymlや他のファイルを一通り見直したが問題は無い。
新しくプロジェクトを作って同じようにGemfileでthinを使うように指定してみたら、問題なくthinで立ち上がった。
gemsetも同じものを使用している。
念のため、不可視ファイルまで確認する。
sampleappの中身(thinが立ち上がらないプロジェクト)
$ ls -a . .. .bundle .gitignore .rvmrc Gemfile Gemfile.lock README.rdoc Rakefile app config config.ru db doc lib log public script test tmp vendor
samplenewappの中身(新しく作成したプロジェクト)
. .. .gitignore .rvmrc Gemfile Gemfile.lock README.rdoc Rakefile app config config.ru db doc lib log public script test tmp vendor
立ち上がらないプロジェクト内には「.bundle」という不可視ディレクトリが存在する以外に違いはない。
迷わず削除する。
$ rm -r .bundle $ rails s => Booting Thin => Rails 3.2.3 application starting in development on http://0.0.0.0:3000 => Call with -d to detach => Ctrl-C to shutdown server >> Thin web server (v1.3.1 codename Triple Espresso) >> Maximum connections set to 1024 >> Listening on 0.0.0.0:3000, CTRL+C to stop
立ち上がった。何だか判らんが「.bundle」が邪魔だったらしい。