Ruby で書かれた CGI を FastCGI化する
自分専用の CGI を幾つか使っているのですが、頻繁に使うようになってくると 遅い と思うようになり FastCGI化してみました。
Ruby用 FastCGIライブラリーは gem または http://www.moonwolf.com/ruby/archive/ からダウンロードしインストール。
元の CGI が以下の場合
require 'cgi' def cgi_main @cgi = CGI.new .... end ... cgi_main
以下のように変更すれば基本的にはOK
require 'fcgi' def cgi_main(cgi) @cgi = cgi ... end ... FCGI.each_cgi {|cgi| cgi_main(cgi) }
今回のCGIには ENV['SCRIPT_NAME'] のようなCGI環境変数の参照があったので、それを @cgi.script_name のような CGI (FCGI) が持つ属性に書き換える必要がありました。
案外簡単に高速化できました (^。^)