2004年4月13日アーカイブ

うちのMTが遅いのは、SSLのせいかな~と思っていたんですが、mod_perlで高速化なんて言うページがいっぱいあったので、やってみることにしました。
MovableTypeが遅いので、mod_perlによる高速化を試みました。
基本的にはここのサイトを参考に作業しました。 まずは、portsから以下を追加。
www/mod_perl
www/p5-Apache-DBI
www/p5-libapreq
最初、p5-libapreqを入れるのがわからなくてはまりました。これを入れると、Apache::RequestとApache::Cookieが使えるようになります。(ってゆーか、他のportsとネーミングを統一してくれよ!・・・すいません、マニュアルにlibapreqって書いてありました・・・)
で、httpd.confに以下を追加。
PerlSetEnv PERL5LIB /var/www/docs/cgi-bin/mt/lib:/var/www/docs/cgi-bin/mt/extlib
PerlModule Apache::Registry
<Directory "/var/www/docs/cgi-bin/mt">
  SetHandler perl-script
  PerlHandler Apache::Registry
  PerlModule Apache::DBI
  Options +ExecCGI
  PerlSendHeader Off
</Directory>
パスなどは適宜読み替えてくださいね。

これで、少しは早くなるかしらん?
httpdがsegmentation faultで落ちるので、諦めかけていたMTのmod_perl化ですが、いろいろ調べていたらここに辿り着きました。
どうも、apacheに入っているexpat-liteを使っていると問題があるようです。
そこで、expatがapacheに入らないように変更しようとしましたが、FreeBSDのportsのapache13-modsslにはそう言うオプションがありません・・・。
お隣の、apache13のMakefileには、WITHOUT_APACHE_EXPATと言うmakeの変数があるようです。
しょうがないので、apache13-modsslのMakefileを編集して、configureの引数に--disable-rule=EXPATを追加してapacheを再インストールしたら、見事落ちなくなりました!!
調子に乗って、Apache::Registryではなくてmod_perlのハンドラ化?とやらに挑戦してみます。
・・・
マニュアル通りにやったらあっさりできました(汗)
もっとも、plugins/AdminLink.plの中にmt.cgiと書いてあるところがあるので、そこをappに直す必要がありましたが。
しかし、この場合にApache::Registryを使う場合のコネクションプール(Apache::DBI)がどうなるかわからなかったので、結局ハンドラはやめてRegistryに戻してしまいました。
2004年4月
        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30  

このアーカイブについて

このページには、2004年4月に書かれたブログ記事が新しい順に公開されています。

前のアーカイブは2004年4月12日です。

次のアーカイブは2004年4月16日です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

Powered by Movable Type 6.1.1