Movable Typeをlighttpd + FastCGI +PHP +Perlで
2007年10月7日
当ブログのWEBサーバーをapache2からlighttpdに変えてみた。
でもって、PHP、PerlをFastCGIで動かしてみる。
確かに、管理画面と投稿が早い。
MovabletypeのPerlスクリプトをFastCGI上に乗せるやり方やらラッパーやらはweb上にいろいろな方法が解説されていたけど、結局ココのやり方が一番いい感じ。
これを参考にして作った、PerlとPHPをFastCGIで動かすconfは以下で。
lighttpd.conf のFastCGIの該当部分はこんな感じ。
fastcgi.server = (
".fcgi" => (
"localhost" => (
"socket" => "/lighttpd_path/fcgi-fastcgi.socket",
"bin-path" => "/MTpath/fcgi-perl",
"bin-environment" => (
"PERL5LIB" => "/MTpath/lib",
"MT_HOME" => "/MTpath",
"MT_CONFIG" => "/MTpath/mt-config.cgi"
)
)
),
".php" => (
"localhost" => (
"socket" => "/var/lighttpd/php-fastcgi.socket",
"bin-path" => "/usr/local/bin/php-cgi"
)
)
)
".fcgi" => (
"localhost" => (
"socket" => "/lighttpd_path/fcgi-fastcgi.socket",
"bin-path" => "/MTpath/fcgi-perl",
"bin-environment" => (
"PERL5LIB" => "/MTpath/lib",
"MT_HOME" => "/MTpath",
"MT_CONFIG" => "/MTpath/mt-config.cgi"
)
)
),
".php" => (
"localhost" => (
"socket" => "/var/lighttpd/php-fastcgi.socket",
"bin-path" => "/usr/local/bin/php-cgi"
)
)
)
上のfcgi-perl は参照したサイトのdispatch.fcgiと同じ。
これで *.fcgi はFastCGIとして動く。
Movabletype関連のcgiを拡張子fcgiでシンボリックリンクを張ってfcgiとしてアクセスして動かす。
mt.fcgi, mt-comments.fcgi, mt-tb.fcgi, mt-search.fcgi, mt-view.fcgi, mt-atom.fcgiとすれば良いようだ。
ラッパーのおかげで、再構築するとブログ内のcgiのリンクがすべてfcgiに書き換わるうえに、新規投稿、再構築だけでなく、コメントとトラックバック時にもFastCGIが使われるようになるのでなかなか快適。