A Day in the Life

lighttpd + fastcgi + Ruby on Rails

設定がいまいちわからなくって、動かすのに一時間ぐらいかかった、、、のでメモ書き。lighttpdのインストールは、debianなら展開したソースにdebian/rulesがあるんでdebuild -us -ucでサクッと.debが作れてそれをインストール。rpmならオフィシャルにバイナリがあったはず。gemでfcgiもインストールしておく。んで、lighttpdのrails向け設定は

#/home/gorou/work/bbs_test がrails app
server.port = 3000
server.modules = ( "mod_rewrite", "mod_fastcgi" )
url.rewrite = ( "^/$" => "index.html", "^([^.]+)$" => "$1.html" )
server.error-handler-404 = "/dispatch.fcgi"

server.document-root = "/home/gorou/work/bbs_test/public"
server.errorlog      = "/home/gorou/work/bbs_test/log/server.log"

fastcgi.server = ( ".fcgi" =>
    ( "localhost" =>
      (
       "min-procs" => 1,
       "max-procs" => 5,
       "socket"   => "/tmp/application.fcgi.socket",
       "bin-path" => "/home/gorou/work/bbs_test/public/dispatch.fcgi",
       "bin-environment" => ( "RAILS_ROOT"  => "/home/gorou/work/bbs_test",
           "RAILS_ENV"   => "development" )
      )
    )
)

mimetype.assign            = (
    ".html"         =>      "text/html",
    ".htm"          =>      "text/html",
〜中略 サンプルとかからコピペ〜
    ".js"           =>      "text/javascript"
)

とか。 こいつをlighttpd.rails.confとか保存。次にpublic/dispatch.fcgiの二行目あたりに、

RAILS_ROOT = ENV['RAILS_ROOT']

を追加して

lightttpd -f lighttpd.rails.conf

で起動。RAILS_ROOTが既に定義されてるよってwarningが出るんで、気持ち悪かったらenviroment.rbを修正する。実際に軽く使ってみて体感でwebrickよりはえー気がする。でもorbjsonが動かなくなったよ、、、fastcgi向けに書き直す必要がありそう…。
つーかRails本家ってtracやらwikiやらHierakiやらにドキュメントが分散しすぎ。しかも書いてある内容が違ったり、検索フォームもあったり無かったりもするし。
つーかつーかそんなことより渡辺満里奈が結婚することにショックです驚きを隠せない!!!!!!!!!!!

記事の一覧 >