FastCGI

Apache + mod_fastcgiを使ってCatalystを動かす。

Apacheの設定

Apacheとfastcgiが通信する方法はいくつかあるが、ここでは外部サーバ方式を採用する。 以下はhttpd.confの一部。

 <IfModule mod_fastcgi.c>
    FastCgiExternalServer /tmp/test1.fcgi -socket /tmp/test1.socket -idle-timeout 120
    FastCgiExternalServer /tmp/test2.fcgi -socket /tmp/test2.socket -idle-timeout 120
 </IfModule>
 <VirtualHost *:80>
   RewriteEngine on
   RewriteRule ^/(.*) /tmp/test1.fcgi/$1 [L]
   #Alias        / /tmp/test1.fcgi/
   <Files missha_fastcgi.pl>
     SetHandler fastcgi-script
   </Files>
 </VirtualHost>
  • FastCgiExternalServer は動かしたいサイトの分だけ書く。
  • -idle-timeout はPerlプログラムの処理に時間がかかる時にタイムアウトしてしまわないように。
  • /tmp/test1.fcgi は実際には存在しないファイル。/tmp/test1.socketは実際に存在しなければいけないソケットファイル。

Catalystの起動

 cd Myapp
 ./script/myapp_fastcgi.pl -n 3 -l /tmp/test1.socket
  • -n で起動する(そして常駐する)Perlプロセスの数を指定する。
  • -d を指定するとデーモン化してバックエンドで動く。

参考

http://ymasuda.jp/python/django/docs/fastcgi.html


トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS