(2006.5.14新規作成)
Ruby on Railsアプリケーションは、WEBrick, CGI, FastCGI, mod_rubyで走るが、CGIはかなり遅い。秒単位で待たなければならない。FastCGIを使うと、CGIに比べてアプリケーションの反応を大幅に早くできる。
しかし、FastCGIは活発にはメンテナンスされていないので、インストールがやや難しい面がある。Apache 2.2では、そのままではコンパイルもできない。
インストールの手順をメモしておく。
FastCGIは、Apacheと別プロセスのfcgiが常駐し、このプロセスでアプリケーションを動かす。Railsだと、dispatch.fcgiもfcgiとはさらに別のプロセスとして常駐する。
CGIの場合でsuEXECを有効にしていると、指定のユーザでアプリケーションを実行できるが、FastCGIでは、apache:apacheなどApacheの実効ユーザでアプリケーションを動かす。CGIで動いていたアプリケーションが動かなくなった場合は、パーミッションを確認したい。
FastCGIのサイト。
必要なパッケージは、FastCGI Developer's Kit, mod_fastcgi, ruby-fcgiの3つ。前2者は、とりあえず、Debianから取ってくる。
mod_fastcgiは、下記パッチも必要。
まず、FastCGI Developer's Kit。
パッチを当てて、
$ ./configure $ make $ su # make install
次いで、mod_fastcgi。これはパッチを当ててからINSTALL.AP2に書いてある手順で。
ruby-fcgiは、Pure Rubyで設定する。
$ ruby install.rb config --without-ext $ ruby install.rb setup $ su # ruby install.rb install
『Railsによる・・・』の22章を参照。
『RailsによるアジャイルWebアプリケーション開発』
私のコメント:
Railsのチュートリアル、本格的な開発から配備まで一通り解説した、Railsでアプリケーションを開発する際の必携書。現存する唯一のRails解説書。
(2006.5.14)
Ruby on Rails 〜レールの路線図〜 スライド。