トップ «前の日(01-01) 最新 次の日(01-03)» 追記

2009-01-02 (金)

[tDiary] index.rbのfcgi化

あけましておめでとうございます。

最近、ここの日記動作が重くないかなとか感じていたので、fcgi化してみました。
割と簡単に行けましたが、一応覚え書きを残すことにしました。

最初に必要なパッケージのインストールから。
環境がetchなので、apt-get installでlibapache2-mod-fcgid、libfcgi-ruby1.8をインストール。

次はドキュメントルートに置くindex.fcgiを以下のように準備します。私の環境はtdiaryを複数ユーザで使う手法をやっていたので、すでにfcgi化した方のコードを参考に以下のようにしました。

#!/usr/bin/ruby

DIR = '/usr/local/share/tdiary'
$LOAD_PATH.unshift DIR

require 'fcgi'

FCGI.each_cgi do |cgi|
  begin
    ENV.clear
    ENV.update(cgi.env_table)
    class << CGI; self; end.class_eval do
      define_method(:new) { cgi }
    end
    load File.join(DIR, 'index.rb')
  ensure
    class << CGI
      remove_method :new
    end
  end
end

最後は、.htaccessやapacheのconfでDirectoryIndexでindex.fcgi、RewriteRuleでindex.fcgiを使うようにすればokです。

今のところ、かなりレスポンスがあがって満足しています。後はしばらくして影響がないことを祈りたいと思いますw


トップ «前の日(01-01) 最新 次の日(01-03)» 追記