CGIでPerlスクリプトを実行すると、呼び出しごとにPerlを起動してスクリプトを読み込むために時間がかかりますが、mod_perlを使うと、変換後のプログラムをメモリ上にキャッシュすることができます。
■mod_perlのインストール
yumコマンドでインストール。
# yum -y install mod_perl
yumコマンドが使えないときは、ダウンロード⇒展開⇒make⇒make test⇒make install でもインストールできます。
■Apacheの設定ファイルを変更
ここでは、全てのcgiファイルに対して、mod_perlを使うよう設定します。
httpd.confの編集
LoadModule perl_module modules/mod_perl.so
PerlModule ModPerl::Registry
<Files *.cgi>
SetHandler perl-script
PerlOptions +ParseHeaders
PerlResponseHandler ModPerl::Registry
</Files>
後はApacheを再起動して動作確認すれば良いです。
■備忘録
mod_perlの環境で、DBD::OracleでOracleに接続しようとするとエラーが出る。
ERROR OCIEnvNlsCreate. Check ORACLE_HOME (Linux) env var or PATH (Windows) and or NLS settings, permissions, etc. at /var/www/cgi-bin/dbtest.cgi line 7. |
調べてみると、同じような原因でつまづいている人が多いみたいです。
http://www.gossamer-threads.com/lists/modperl/modperl/84070
http://q.hatena.ne.jp/1214968851
半日ほど使ってあれこれやってみたのですが、いまだ解決せず・・・。
0 件のコメント:
コメントを投稿