Blog’umu Octopress kullanarak hazırlıyorum. Yaptığım değişiklikleri yayına almadan önce lokalde görüntülemek için rake preview
komutunu kullanıyorum.
Bu sırada loglarda şu uyarı mesajı bolca görünüyordu:
WARN Could not determine content-length of response body. Set content-length of the response or set Response#chunked = true
Biraz araştırınca, bunun Webrick’le ilgili bir bug olduğunu öğrendim. Bunun için bir kaç farklı öneri vardı:
- Önemli bir mesaj değil bu, basitçe yok sayabilirsiniz:
@luislavena ya, it's fine. Need to clean it up, but nothing is being hurt.
— Aaron Patterson (@tenderlove) August 31, 2011
( Aaron Patterson (@tenderlove) Rails’in core geliştiricilerinden birisidir. )
Webrick yerine Thin kullanın:
Gemfile içerisinegem 'thin'
satırını ekleyin. Gemfile’ın son hali şu şekilde olmalı:source "http://rubygems.org" group :development do gem 'rake', '~> 0.9.2' gem 'rack', '~> 1.4.1' gem 'jekyll', '~> 0.11.2' gem 'rdiscount', '~> 1.6.8' gem 'pygments.rb', '~> 0.2.12' gem 'RedCloth', '~> 4.2.9' gem 'haml', '~> 3.1.6' gem 'compass', '~> 0.12.1' gem 'rubypants', '~> 0.2.0' gem 'rb-fsevent', '~> 0.9' gem 'stringex', '~> 1.4.0' gem 'liquid', '~> 2.3.0' gem 'thin' end gem 'sinatra', '~> 1.3.2'
Bu değişikliği yapıp bundle install
komutunu verdiğimizde Thin, makinemize kurulacak ve bundan sonra varsayılan web sunucu olarak Webrick yerine kullanılacaktır.
- Bunun için yayınlanmış bir patch var, onu uygulayın:
Ben bu öneriye uyarak patch’i uyguladım.
$ wget https://bugs.ruby-lang.org/attachments/download/2300/204_304_keep_alive.patch
$ cd ~/.rvm/rubies/ruby-1.9.3-p362/lib/ruby/1.9.1/webrick/
$ patch < 204_304_keep_alive.patch
patching file httpresponse.rb
patching file test_httpresponse.rb
Siz 2. satırdaki yolu, kullandığınız sürüme göre değiştirmeli ve patch’i ondan sonra uygulamalısınız.
Bu adımları sırası ile uyguluyoruz ve bu uyarı mesajı artık görüntülenmiyor.
Konu ile ilgili ayrıntılı tartışmaya buradan bakabilirsiniz.