rails에 기본적으로 내장되어있는 웹서버인 webrick을 사용하면 

모든 assets에 대한 요청에 대해서 


[2013-09-24 13:55:51] WARN  Could not determine content-length of response body. Set content-length of the response or set Response#chunked = true


와 같은 로그가 발생한다. 문제는 static resource에 대해 건건히 로깅이 되기 때문에 정말 필요한 로그를 보기 어렵다는거...


구글링을 해보니 버그이기 때문에 버그 패치를 하라는 의견도 있고

로깅을 조절하라는 이야기도 있고..

thin 서버를 사용하면 된다는 이야기도 있다.


그래서 이것저것 해보았는데 개인적으로는 thin 서버 사용하는게 가장 나은듯해서..

thin 설치를 해서 서버를 변경하였다.


1. thin 설치

sudo gem install thin


2. Gemfile 수정

gem 'thin'


3. bundle install

bundle install


4. thin 서버 실행

rails s thin


이제 그 로그는 나오지 않는다!

그런데 문제는.. 이번엔 모든 요청에 대해 로그가 남는다.

Started GET "/assets/logo.png" for 127.0.0.1 at 2013-09-24 14:07:21 +0900


WARN만 안나온다 뿐이지.. 상황은 똑같다.

이 문제는 아래와 같이 해결하자.


1. config/initializers에 quiet_assets.rb 파일을 만든다.


2. 위 파일에 아래의 내용을 추가한다.

if Rails.env.development?

  Rails.application.assets.logger = Logger.new('/dev/null')

  Rails::Rack::Logger.class_eval do

    def call_with_quiet_assets(env)

      previous_level = Rails.logger.level

      Rails.logger.level = Logger::ERROR if env['PATH_INFO'] =~ %r{^/assets/}

      call_without_quiet_assets(env)

    ensure

      Rails.logger.level = previous_level

    end

    alias_method_chain :call, :quiet_assets

  end

end



이러면 이제 정말 끝~

Posted by 용식

책보고 하나둘 하나둘..

팀 스터디는 RoR로 결정. 이게 우리나라에서는 루비가 참.. 인기가 없는데

github 리포지토리 개수로 ranking낸 자료 보면 

루비가 2위다..... 1위가 자바스크립트이고... 꽤 많이들 쓰시는 모양~


아무튼.... 맥에 ruby 및 rails 설치... 


1. rvm 설치 (Ruby Version Manager)

\curl -L https://get.rvm.io | bash


2. .bash_profile 수정

echo '[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm"' >> ~/.bash_profile


3. ruby install

sudo rvm install 1.9.3


4. 기본 루비 인터프리터 설정

rvm --default 1.9.3


5. rails 설치

sudo gem install rails


6. rails 설치 버전 확인

rails -v


7. mysql 어댑터 설치 (제대로 설치 되었는지 테스트는 못 해봄), sqllite3 사용하려면 필요없는 과정

http://www.tmtm.org/en/mysql/ruby 에서 다운로드

ruby extconf.rb --with-mysql-dir=/usr/local/mysql

sudo make

sudo make install

/usr/local/mysql/bin/mysql_config 수정

 > -Wno-null-conversion and -Wno-unused-private-field 옵션 제거

sudo gem install mysql2

sudo gem install bundler

sudo bundle install


8. server startup

rails new demoserver

cd demoserver

rake about

rails server


9.  http://localhost:5000



Posted by 용식
TAG rails, RUBY