2005-08-01 (Mon)
_ [mod_ruby][Rails] Apache::RailsDispatcher
Agile Web Development with Railsでdeprecated approachと書かれている のに腹が立って*1実装。
<URL:http://svn.modruby.net/repos/mod_ruby/trunk/lib/apache/rails-dispatcher.rb>
(mod_ruby自体も最新にしないと動かないので注意。)
RubySafeLevel 0 # RubyGemを使う場合 # RubyRequire rubygems RubyRequire apache/rails-dispatcher RubyTransHandler Apache::RailsDispatcher.instance <Location /appname> SetHandler ruby-object RubyHandler Apache::RailsDispatcher.instance RubyOption rails_uri_root /appname RubyOption rails_root /path/to/rails/root RubyOption rails_env development </Location>
こんな感じの設定で動くと思う。
以下の方針により、複数アプリケーションを動かすことができるようにした。
- requireしたものはすべてのアプリケーションで共有。
- require_dependencyしたものはアプリケーションごとの無名モジュールにロード。 (load(filename, true)相当)
- development環境では無名モジュールを毎回破棄。
- production環境では無名モジュールを使い回す。
- Railsの設定(RAILS_ROOTやActiveRecord::Base.colorize_logginなど)は 毎回リセット。
- 本当はDBのコネクションプールを実装したいけど、まだやってない。
まあ、YARVのMulti VMサポートまでのつなぎだけど。
単一のアプリケーションだけ動かすようなケースでは、今のところlighttpd + FastCGIが一番パフォーマンスがよいが、 FastCGIだとアプリケーション数に比例してプロセス数が増える *2 のが気になるところ。 いっぱいアプリケーションを動かすような場合には、インタプリタや フレームワーク部分を共有するmod_rubyの方がおトクかもしれません。
あと、Rails本では「FastCGIなら100プロセスのWebサーバで静的な ファイルを処理しつつ、FastCGIのプロセス数は10におさえることで メモリ消費を抑えられるけど、mod_rubyだとでかいプロセスが100コ になっちゃうよん」みたいなことが書いてあるけど、mod_rubyでも mod_perlでもふつーそういう時には静的ファイルは別のApache インスタンスなり他のWebサーバに処理させるよね?
[TrackBack URL: http://shugo.net/jit/tb.rb/20050801]
本日のリンク元
- http://www.kharakawa.com/kh.log/archives/2006/01/m... ×343
- http://arika.org/diary/20070621 ×135
- http://wiki.hacklife.net/rails/?サーバ環境 ×120
- http://d.hatena.ne.jp/secondlife/20050828/11252086... ×86
- http://www.fdiary.net/ml/rails/msg/309 ×35
- http://arika.org/diary/2007/06/21 ×16
- http://feedbringer.net/feed ×14
- http://d.hatena.ne.jp/secondlife/20050828 ×8
- http://www.kharakawa.com/kh.log/archives/install_l... ×8
- http://b.hatena.ne.jp/t/mod_ruby ×8
- http://search.hatena.ne.jp/search?ie=utf8&word=rai... ×6
- http://search.live.com/results.aspx?q=rails ×5
- http://scjv-xch.softfront.co.jp:8731/Burton/wiki/D... ×5
- http://d.hatena.ne.jp/secondlife/ ×4
- http://1470.net/mm/mylist.html/351?date=2005-08-29... ×4
- http://planet.vinelinux.org/ ×4
- http://press.eek.jp/result/小豆/小豆 作り方 ×4
- http://1470.net/mm/related?memo=32533 ×4
- http://mixi.jp/view_diary.pl?url=http://shugo.net/... ×3
- http://search.live.com/results.aspx?q=rails&mrt=en... ×3
- http://arika.org/diary/2007/06/21/mod_ruby-on-rail... ×3
- http://r.hatena.ne.jp/rhosoi/Nerds/ ×3
- http://b.hatena.ne.jp/add?mode=confirm&title=Journ... ×3
- http://1470.net/tag/mod_ruby ×3
- http://b.hatena.ne.jp/add?mode=confirm&title=Journ... ×3
- http://b.hatena.ne.jp/search?word=rails apache ×3
- http://1470.net/mm/ ×3
- http://b.hatena.ne.jp/hirakuro/RubyOnRails/mod_rub... ×3
- http://b.hatena.ne.jp/lizy/mod_ruby/?mode=detail ×2
- http://b.hatena.ne.jp/add?mode=confirm&title= [mod... ×2
- http://b.hatena.ne.jp/hirakuro/mod_ruby/ ×2
- http://mixi.jp/view_diary.pl?url=http://shugo.net/... ×2
- http://b.hatena.ne.jp/hirakuro/20060919 ×2
- http://1470.net/mm/recent.html/?&limit=50&page=4 ×2
- http://r.hatena.ne.jp/tociyuki/ ×2
- http://r.hatena.ne.jp/m4i/ruby/ ×2
- tDiary.Net[moriq] ×2 : 1, 1
- http://1470.net/mm/search?genre=Rails;autogenre=1 ×2
- http://www.poker-stadium.com/poker-games.html ×2
- ただのにっき ×2 : 1, 1
- http://www.rubyist.net/~matz/20070112.html ×1
- http://b.hatena.ne.jp/hirakuro/RubyOnRails/ ×1
- http://arika.org/diary/ ×1
- http://arton.no-ip.info/diary/20061129.html ×1
- http://images.search.yahoo.com/search/images/view?... ×1
- http://search.www.infoseek.co.jp/OTitles?svp=SEEK&... ×1
- http://b.hatena.ne.jp/antipop/ ×1
- http://b.hatena.ne.jp/t/mod_ruby?sort=eid ×1
- http://b.hatena.ne.jp/tily/ruby/ ×1
- http://inforepo.nepas.nec.co.jp/cgi-bin/forward_em... ×1
- http://b.hatena.ne.jp/yogo/mod_ruby/?mode=detail ×1
- http://search.live.com/results.aspx?q=Softfront&fi... ×1
- http://r.hatena.ne.jp/birdie-brain/3 Ruby箱/ ×1
- http://b.hatena.ne.jp/uemu/favorite ×1
- http://b.hatena.ne.jp/yogo/20060122?mode=detail ×1
- http://search.live.com/results.aspx?q=SOFTFRONT&fi... ×1
- http://mixi.jp/view_diary.pl?url=http://shugo.net/... ×1
- http://b.hatena.ne.jp/keyword?word=Apache&of=350&s... ×1
- http://search.live.com/results.aspx?q=mod_perl コネク... ×1
- http://reader.livedoor.com/reader/ ×1
- http://www.atlantis-asia.com/texas-holdem.html ×1
- http://search.live.com/results.aspx?q=rails&form=Q... ×1
- http://qouop.dyndns.org/alchu/index.html ×1
- http://www.kharakawa.com/kh.log/ ×1
- http://b.hatena.ne.jp/antipop/?of=60 ×1
- http://feeds.feedburner.jp/Listen-it ×1
- http://feedbringer.net/clip ×1
- http://www.rubyist.net/~matz/20060915.html ×1
- http://mark.jolt.jp/viewuser/search.do?start=80&s0... ×1
- http://b.hatena.ne.jp/hi-rocks/favorite ×1
- http://b.hatena.ne.jp/keyword/lighttpd?sort=eid ×1
- http://b.hatena.ne.jp/add?mode=confirm&title=Journ... ×1
- http://eau.softfront.co.jp/Burton/wiki/DevelopEnvi... ×1
- http://kotorigoto.catwalker.jp/ ×1
- http://b.hatena.ne.jp/jonah_eigo/ ×1
- http://atode.cc/bar.php?u=http://shugo.net/jit/200... ×1
- http://sbs.mobile.yahoo.co.jp/union/search?p=ファイル共... ×1
- http://sbs.mobile.yahoo.co.jp/p/sbs/mobilesite/sea... ×1
- http://caojon.seesaa.net/article/642447.html ×1
- http://lesserwiki/ ×1
- http://del.icio.us/ ×1
- http://sbs.mobile.yahoo.co.jp/union/search?p=コネクショ... ×1
- http://jp.rubyist.net/?KansaiOpensource2004 ×1
- http://jp.f33.mail.yahoo.co.jp/ym/ShowLetter?MsgId... ×1
- http://d.hatena.ne.jp/secondlife/?of=50 ×1
- http://b.hatena.ne.jp/yogo/mod_ruby/ ×1
- http://mark.jolt.jp/search.do ×1
- http://www.spice-of-life.net/diary/?date=20050802 ×1
- http://b.hatena.ne.jp/kamiponne/mod_ruby/ ×1
- http://b.hatena.ne.jp/moguru/favorite?of=80 ×1
- http://b.hatena.ne.jp/yogo/rails/?mode=detail ×1
- http://planet.yendot.org/ ×1
- http://targetyournews.com/?cmd=targeting&urlid=345... ×1
- http://search.hatena.ne.jp/search?word=Rails モジュール... ×1
- http://mixi.jp/view_bbs.pl?id=2240413&comm_id=1475... ×1
- http://b.hatena.ne.jp/no_ri12/favorite ×1
- http://reader.labs.goo.ne.jp/test/f22.html?1123120... ×1
- http://b.hatena.ne.jp/tily/rails/ ×1
- http://www.rubyinside.com/ ×1
- http://b.hatena.ne.jp/lizy/ruby on rails/ ×1

素晴らしい>mod_ruby
ありがとうございます。
(あんまり反応がなかったのですっかり忘れてました:()