トップ «前の日(07-31) 最新 次の日(08-02)» 追記   RSS 1.0 FEED  

Journal InTime


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サーバに処理させるよね?

*1  もちろん冗談ですよ

*2  FastCGIでもフレームワークの作り方によって違う形にもできるとは思う。

_ [ximapd] やまださんのパッチ

たくさんのパッチをいただいたのでマージ。 ありがたいことです。

自分もちゃんとコード書かないとな。 とりあえず、もうちょっと速くしただけどなかなか大変そう。 fetchの上限を作っちゃうのが一番てっとりばやいかな。 古いメールは検索して読め、と。

本日のツッコミ(全2件) [ツッコミを入れる]

_ はんばあぐ [素晴らしい>mod_ruby]

_ shugo [ありがとうございます。 (あんまり反応がなかったのですっかり忘れてました:()]


2006-08-01 (Tue)

_ [仕事] 惨敗

もうだめだ。 ありえない感じのエラーメッセージが。 絶対メモリがらみな感じ。

「Purifyが欲しい」とか書いたら石塚さんがぽんとくれたり…はしないだろうな。 Windowsで動くvalgrindはないの?

_ [家族] ほぼ日手帳のシール

残骸

だいぶ前にほぼ日手帳のアンケートに答えたら、シールが当たったというメールが来てて、やったーと思っていたのだが、ぜんぜん届かない。今日思い出して奥さんに聞いたら、子どもが何かシールをめちゃめちゃにしてたから捨てた、みたいな話が。馬鹿馬鹿。

もうこうなったらBREEの手帳バインダでも買って、フランクリンプランナーとかにしてやるから。3万円近くかかりそうだな。

追記:

残骸発見:(

_ [] 鳴き砂ラーメン

という名前の店が島根(のちょっと西の方)にあって、ずーと気になってたんだけど、

別に砂は入っていません。

[Yahoo!ブログ - 松江の日々より引用]

そうだったのかー。今度通りかかったらぜひトライしてみよう。


2011-08-01 (Mon)

_ [tDiary] Facebook Commentsプラグインの設定

YOUR_FACEBOOK_USER_IDとYOUR_APPLICATION_IDの設定をしていなかったので、設定してみた。

まず、YOUR_FACEBOOK_USER_IDについては、以下のFacebookアプリで確認したものを設定した。

また、YOUR_APPLICATION_IDについては、以下のサイトでアプリケーションを作成して、そのIDを設定した。

これでコメントをモデレートできるようになったようだ。

あと、ogp.rbを入れて、Open Graph Protocolに対応した。 サイトのメタ情報を外部のアプリケーションに伝えるためのものらしい。 最初og:imageが設定されなかったが、tDiaryの設定でバナー画像を設定する必要があるようだ。 og:urlについてはソースを見たらTODOと書いてあった。