読者です 読者をやめる 読者になる 読者になる

ichiroc subset

書きながら考える・考えをまとめる場所

Movable Type 5 を fastcgi で動かしたメモ

CentOS 4.5 で Movable Type 5 を fastcgi で動かした。
そのメモ。


yum install mod fastcgi


では何故かキチンと動く fastcgi をインストール出来なかった。
httpd のバージョンと fastcgi のバージョンが対応しないとか言う。

結局ソースからインストールする事に。

ここから最新版(2.4.6)ダウンロード

http://www.fastcgi.com/dist/

解凍後、INSTALL ファイルを眺めると

3) Installing modfastcgi as a DSO

という項目に合致するようだったので、その通りやってみる。
バイナリ作成


apxs -o mod_fastcgi.so -c *.c


...OK。

しかし何故か mod_fastcgi.so は作成されなかった。

そうなると次ステップでエラー。

でも失敗していないし、どっかにあるんじゃない?と思って、

探してみると同じディレクトリの .lib という処に入っていたので、

取り出して httpd の modules 内に放り込む。

ここらへんで、「きっと分かっている人が見たら、かなり適当な事をやってるんだろうな」とか思う。


httpd.conf を設定する。
取り敢えず .cgi は全部 fastcgi で動くようにしてみる。


LoadModule fastcgi_module moduels/mod_fastcgi.so
FastCgiIpcDir /var/lib/httpd/fastcgi/
AddHandler fastcgi-script .cgi


VirtualHost の中の Direcotry ディレクティブの中に書いているんだけど、
違う VirtualHost の .cgi も fastcgi になってしまうんだろうか。
後で実験したい。気力あれば。

FastCgilibpcDir はちょっと手こずった。
設定を反映させると、中のディレクトリを書き込めないというエラーが出てしまう。

chown で httpd のユーザに権限を与えると、その中に dynamic ディレクトリを作って、それがまた違うユーザの所有になってて、書き込みが出来ないと再度出る。
結局それも手動で所有ユーザを変えたら、キチンと動いた。

おお、動いた。奇跡。


で、スピードなんだけど、劇的には早くならず、18秒かかってた再構築が 11秒になりました。
取り敢えず遅くなって無いから良し。