まだ実装してないけど、メモ的に。現状としてApache+mod_perlが生きていて、他のサービスもバーチャルホストで走っているマシン。このApache + mod_perlもプロキシ+アプリサーバーという設定。


ここで一部のアプリサーバーをlighttpdに変えたい。


基本的にはメインのlighttpd.confを作り、そこからinclude でそれぞれのサービス設定を反映させるのがよろしいような気がする。


ってことで。基本的に http://myapp1.com/ にアクセスが来たらhttp://app:8080/myapp1/にリダイレクトして、lighttpdに渡す事にする。ということで、まずApache proxyのほうで、



<VirtualHost myapp.com:80>
...
RewriteRule ^/+(.*) http://localhost:8080/myapp/$1 [P]

# プロキシ設定
</VirtualHost>

で、lighttpdの設定はそれぞれのアプリのmiscディレクトリにlighttpd.confを作って、その後はmod_rewriteを使ってふりわける:



url.rewrite-once = (
"^/myapp/(.*)" => "/myapp.fcgi/$1"
);

fastcgi.server = (
"/myapp.fcgi/" => ( ... ),
)

これで多分できると思う。ひとつ心配なのは、includeを繰り返して上の設定を何個ものサービスからファイルを持ってきた場合fastcgi.server とかの設定が上書きじゃなくて追加されるかどうかが気になるな。これは要検証。