動いた!
一昨日からなやんでいた、サブディレクトリ配下でrailsアプリを動かす(1サーバで複数のrailsアプリを動かす)方法ですが、ようやく動きました。
コメントをくださったid:osakanasさん、どうもありがとうございました。
教えていただいたhttp://blog.lighttpd.net/articles/2005/11/23/lighttpd-1-4-8-and-multiple-rails-appsを見ながらやってみました。心残りなのはstrip-request-uriを使ったlighttpd側の設定ではうまくいかず、railsアプリ側での対応となってしまったこと。もうちょっと調べる余地がありそうです。
とりあえずこのへんのテーマでRails勉強会のセッションに立候補してみましたので、興味があるかたはそちらもよろしくお願いします。
このへんはあとでちゃんとまとめまたいと思いますが、取り急ぎ設定例をば。
lighttpd-1.4.8での設定です。
[/etc/lighttpd/lighttpd.conf(抜粋)] #server.modules += ("mod_fastcgi", "mod_rewrite", "mod_alias" ) alias.url = ( "/saihu" => "/var/webapp/saihu/current/public" ) $HTTP["url"] =~ "^/saihu/" { server.error-handler-404 = "/saihu/dispatch.fcgi" } fastcgi.server = ( "/saihu/dispatch.fcgi" => (( "host" => "192.168.10.2" , "port" => 7000 , )))
で、rails側の対応
[config/environments/production.rb] # work under http://example.com/saihu ActionController::AbstractRequest.relative_url_root = "/saihu"
ということで、サーバからは "/saihu/controller/action"というURIが渡されるままにして、rails側でrootからの相対パスを指定しています。てかrelative_url_rootってあったんですね。lightyのblogを見て初めて知りました。(汗