mod_perl化でhttpdが不安定に

  • 投稿日:
  • 投稿者:
  • カテゴリー:

先日のサーバーのmod_perl化で、MTがキビキビ動くようになったのはいいのですが、httpdが不安定になってしまいました。具体的には、頻繁に「ページがみつかりません」というエラーメッセージが出るようになってしまいました。私はウェブメールを愛用しているので、メールの送信時にこのエラーが出ると、書いたばかりのメールが失われてしまうために泣きたくなります(すでにこの数日で悲劇は10回以上起きています)。

ひらたさんに相談してみると、mod_perl化したhttpdでMTを動かすと、MT全体をキャッシュしてしまうので、多くのhttpdプロセスが立ち上がると、あっという間に大量のメモリーを食ってしまう、ということを教わりました。

とりあえずはhttpd.confの「MaxSpareServers」を小さく抑える(具体的にはメモリ登載量 -100M)/20M程度)ことで応急処置しました。

それでも頻度は減ったものの、やはり時々、悲劇がおきます(実はこのポストの最中にも悲劇が起き、半分以上をいま書き直しています)。

そこで抜本的な解決策として、フロントエンドにロードバランサーも兼ねてPoundを置き、MTはmod_perl化したapache1.3、その他のページはapache2で処理する、ということにしました。

サーバーのmod_perl化、でもCGI実行禁止にすると…

  • 投稿日:
  • 投稿者:
  • カテゴリー:

一部の方から「mod_perl化するといいよ」と言われていたので、ついに1月2日、サーバーの設定を少しいじって、このMovable Typeをmod_perl化しました。

mod_perl化については、MT本家のページ(その翻訳版)やnaoyaさんの解説により、すんなり移行できて「よかったよかった」と思っていたのですが、今になってちょっと問題(?)を発見。

スパム・コメントを撃退する

  • 投稿日:
  • 投稿者:
  • カテゴリー:

最近、スパムコメントが激増しています。とりあえずはデータ収集と思ってIP Banningなどもせずに放置しておいたのですが、そろそろ手を打つことにしました。

先週、Jay Allen :: The Daily Journalに掲載されたKilling Comment Spam Deadおよび、それをまとめたKilling Comment Spam for Dummiesに沿って、スパムコメント対策をしてみました。

以下は基本的に上記二つの内容を抜粋して日本語にしたものです。Good job, Jay!

Movable Typeをいじってみたが(不完全)

  • 投稿日:
  • 投稿者:
  • カテゴリー:

私にはGadgetsだけではなく、なんでも死蔵させてしまう悪癖があります。
5月のゴールデンウイークにMovable Typeを少しいじっていたのですが、予想通り死蔵されていたので、やりかけながら公開することにしました。だれかがこれをベースに、何かを作ってくれることを期待して。

さて、以下に3つのエントリーを載せますが、その中で何をやろうとしていたかを簡単に説明しておきます。

好みのテンプレート群でdefault-templates.plを作る

  • 投稿日:
  • 投稿者:
  • カテゴリー:

Movable Typeでは新規blogを作ると、MTデフォルトのテンプレートが自動的に作成されてしまいます。例えばひとつのMTで複数のblogを立ち上げる場合、毎回毎回同じ修正を施さなければいけません。

細かな修正なら、default-templates.plを直接エディットすれば済みますが、新たにテンプレートなどを追加している場合は、面倒このうえありません。

そこでShowTemplatesプラグインを使って、default-templates.plを自動作成する方法を紹介します。

擬似GUIでレイアウトするlayout.html

  • 投稿日:
  • 投稿者:
  • カテゴリー:

Movable Typeは高機能なゆえ、画面をレイアウトするにはタグと格闘しなければならず、結構面倒です。

しかしモジュールテンプレート機能をうまく使えば、画面の部品をモジュール化して、そのモジュール部品を配置しながらレイアウトする、ということも可能なはず。

MTはデフォルトでは画面を「banner」「content」「links」などと区切っています。そこで、区切られた場所ごとにレイアウト用のモジュールを作成し、プルダウン式の擬似GUIでレイアウトする、ということを考えてみました。

エントリーでもサイドメニューを最新に保つ

  • 投稿日:
  • 投稿者:
  • カテゴリー:

blogのエントリー画面に「最新コメント」などを付けていても、古いエントリーでは全然最新じゃない、なんてことが起きます。

これは、エントリーの画面(正確に言うとPermalinkで示された、Individual archivesテンプレートで生成されたページ)は、「blog全体をrebuildする」、「individual archivesをrebuildする」、「そのエントリーに書き込みがあった場合」のどれかの最後の時点から、ページが更新されないからです。

Movable Typeでは、試みとして各ページを動的に生成することを考慮したこともあったようですが、重くて実用にならなかったようです。

しかしWWWサーバーでSSI(サーバーサイド・インクルード)を設定できれば、サイドバーなどを最新の状態に保てます(それでもサーバーに負荷はかかりますが)。