- 追加された行はこの色です。
- 削除された行はこの色です。
* 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 missha_fastcgi.pl>
<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]
cd Myapp
./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