PerlさんPerlくん
[perl][FCGI] FastCGIの概要とインストール
最終更新:
atwikimyj
-
view
FastCGIとはそもそも何か?
FastCGIとは仕様を指す言葉で、アプリケーションそのもの
ではない。
perl等のインタプリンタ言語の場合、CGIで読み込むたびに
コンパイルを行う必要がある。そのコンパイル後のコードを
メモリに常駐させてコンパイル処理時間やコストを節約する
ことが可能。同じような機能を持つものとしてmod_perlが
あるがこれはApache内でperlのコードを保持するが、FastCGI
はapacheなどのwebサーバとは別にプロセスを用意し、そこ
にコードを保持する。
ゆえにapache以外のwebサーバでも使用可能。
ではない。
perl等のインタプリンタ言語の場合、CGIで読み込むたびに
コンパイルを行う必要がある。そのコンパイル後のコードを
メモリに常駐させてコンパイル処理時間やコストを節約する
ことが可能。同じような機能を持つものとしてmod_perlが
あるがこれはApache内でperlのコードを保持するが、FastCGI
はapacheなどのwebサーバとは別にプロセスを用意し、そこ
にコードを保持する。
ゆえにapache以外のwebサーバでも使用可能。
mod_perl2とどっちがいいの?
mod_perl(2)とFastCGIどちらを使うか迷うところだが、
FastCGIを使う利点としては
FastCGIを使う利点としては
- mod_perlのようにapacheに強く依存しない
- Apache以外でも使える
デメリットとしては
- mod_perlの場合はApacheと連携していろいろ可能
(もともとのmod_perlの意義はここにあるらしい)
- ドキュメントや情報がmod_perlよりが少ない、、
インストール・環境構築
インストールは以下のように行う
(1)Fast_CGIアプリケーションをインストール
{{
# cd /usr/local/src
# wget http://www.fastcgi.com/dist/fcgi.tar.gz
# tar xvfz fcgi-2.4.0.tar.gz
# cd fcgi-2.4.0
# ./configure
# make
# make check
# make install
}}
(1)Fast_CGIアプリケーションをインストール
{{
# cd /usr/local/src
# wget http://www.fastcgi.com/dist/fcgi.tar.gz
# tar xvfz fcgi-2.4.0.tar.gz
# cd fcgi-2.4.0
# ./configure
# make
# make check
# make install
}}
(2)FastCGIのためのPerlモジュールもインストール
{{
perl -MCPAN -e 'install FCGI'
perl -MCPAN -e 'install CGI::Fast'
}}
{{
perl -MCPAN -e 'install FCGI'
perl -MCPAN -e 'install CGI::Fast'
}}
(3)Apache用のモジュールもインストール
{{{
# wget http://jaist.dl.sourceforge.net/sourceforge/mod-fcgid/mod_fcgid.2.2.tgz
# xvzf mod_fcgid.2.2.tgz
# cd mod_fcgid.2.2
# wget http://jaist.dl.sourceforge.net/sourceforge/mod-fcgid/mod_fcgid.2.2.tgz
# xvzf mod_fcgid.2.2.tgz
# cd mod_fcgid.2.2
このディレクトリ内にある設定ファイルを書き換える。
{{{
# vi Makefile
}}}
以下のような箇所を、実際のapache2のパスに書き換える
{{{
#top_dir
# vi Makefile
}}}
以下のような箇所を、実際のapache2のパスに書き換える
{{{
= /usr/local/apache2
top_dir = /usr/lib/httpd
}}}
ESC , :wq で保存してから
{{{
# make
# make install
}}}
top_dir = /usr/lib/httpd
}}}
ESC , :wq で保存してから
{{{
# make
# make install
}}}
完了。