* mod_fastcgi [#f08a0ba2]

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

** Apacheの設定 [#w583995c]
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 myapp_fastcgi.pl>
     SetHandler fastcgi-script
   </Files>
 </VirtualHost>
- FastCgiExternalServer は動かしたいサイトの分だけ書く。
- -idle-timeout はPerlプログラムの処理に時間がかかる時にタイムアウトしてしまわないように。
- /tmp/test1.fcgi は実際には存在しないファイル。/tmp/test1.socketは実際に存在しなければいけないソケットファイル。
- mod_rewriteまたはエイリアスによって、すべてのURLのリクエストをfastcgiのソケットに渡してしまう。もし、fastcgiに渡したくないページがあるなら、mod_rewriteの記述に追加すること。

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

** 参考 [#cefd22f6]
- http://ymasuda.jp/python/django/docs/fastcgi.html

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

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS