長らくこちらのブログを続けてきたが、サイトトップに作った新しいブログに引っ越すことにした。
Starmanを上げっぱなしにしているとプロセスの肥大化でメモリの空き容量が心配になるので以下の設定を追加。
30 05 * * * kill -HUP `cat /var/www/html/psgi/mt.pid`
ちなみにmt.pidファイルのアクセス権の問題からrootのcrontabに追加する羽目に。
サイト引っ越しと同時に行ったMTのバージョンアップおよびPSGI化に関する個人的なメモ。
公式おすすめはnginx+Starmanと言う構成だったが、(現状使っていないが)ダイナミックパブリッシング対応していない等の制約があるようなので、とりあえず以下のような構成にしてみた。
- apache (フロントエンドサーバ兼リバースプロキシ)
- Starman (MT実行用バックエンドサーバ)
- Supervisor (Starman実行制御)
正直Perl関連には全く疎いので以下のサイトなどを参考にさせていただいた。
- MovableType 5.2β で nginx + PSGIを試す(Starman+Supervisorでデーモン化 - uzuki05のブログ
- MT5.2へのアップグレードとPSGIでの運用開始|Blog|Skyward Design
- Apache+mod_proxy+PSGIでMovable Type 5.2を動かす - The blog of H.Fujimoto
ちなみにnginx+Starman押しの割にまともなドキュメントが用意されていないのはどうかと思わないでもない。もっともFastCGIの時も(mod_perlの時も?)ドキュメントが整備されたのはかなり後になってからなので、今後に期待と言うこと感じか。
PSGIの影響か分からないが、ウィジェットテンプレートの最近のブログ記事、月別アーカイブ、カテゴリアーカイブあたりにキャッシュ指定していると全く更新されない。
キャッシュ周りはメジャーバージョンアップのたびに動作がおかしくなる印象があるので今回もそれなのかも知れないが、早く何とかして欲しいところ。
テキストコンテンツを gzip 圧縮して転送(mod_deflateを使う)
記事のままhttpd.confに設定。VirtualHost指定とか無視しているのでapache配下の全サイトで効くはず。
<IfModule mod_deflate.c>
SetOutputFilter DEFLATE
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4\.0[678] no-gzip
BrowserMatch \bMSI[E] !no-gzip !gzip-only-text/html
SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png)$ no-gzip dont-vary
Header append Vary User-Agent env=!dont-vary
</IfModule>
どこまで効いているか分からないが普通に動いてはいる。元ネタの元ネタは以下の公式ページ。
MT5.2からリッチテキストエディタにスタイルを指定できるようになったが、ほとんどガイドが無いため何をどうすればいいのか分からなかった。普通にblog用スタイルシートを指定してもクラス指定がネストしたりしているので上手く当たらない。
探し回って見つけた唯一の情報源である上記公式βページを見ると、この編集エリアが<body>タグに相当するようなので、ブログのスタイルシートから必要な指定内容(フォントサイズなど)を抜粋して指定すればいいようだ。
なお上記ページによると、ウェブページとブログエントリに対してそれぞれ「page」および「entry」というクラス指定がされているとのことなので、「body.page」および「body.entry」に対して別のスタイルを指定できるとのこと。
apache+Starman構成でStyleCatcherが正しく動作しない - blue sky BLOG
上記の件に関して、「ブログスタイルの選択」画面の生成ソースとプラグインのテンプレートを見比べて暫定的に復旧。
/var/www/html/mt/plugins/StyleCatcher/tmpl/view.tmplにおいて、以下の2パターンの記述を修正すれば、少なくとも画面自体は復旧できるようだ。
修正前:
<mt:var name="plugin_static_uri">templates.css
<mt:var name="plugin_static_uri">images/〜.gif
修正後:
<mt:var name="static_uri">plugins/StyleCatcher/templates.css
<mt:var name="static_uri">plugins/StyleCatcher/images/〜.gif
ただ、おそらくプラグイン処理にて生成されている部分(プロフェッショナルスタイル、コミュニティスタイルのサムネリンク)については修正されない。CMS.pmにそれっぽい処理があるのだがPerlが分からないので手つかず。
本来はこちらの処理を修正しなければならないはずだが、自分に関してはこれで用が足りる。
後で記事にする予定だが、MT5.2でPSGI構成が可能になったと言うことで、PSGIによる運用を試行中。現在の構成は、フロントエンド兼リバースプロキシ「apache2」、バックエンド「Starman」構成としており、ビルドも問題なくできているが、StyleCatcherを使おうとしたところトラブル発生。
先ほどorima.jpのアドレスをこちらのサーバに変更したので、このエントリが見えていれば引っ越しに成功したはず。
Starmanの起動制御に使っているSupervisorの実行ユーザーを自分にしていたら、ブログディレクトリに書き込めなかったので、apacheに変更して再実行したところ上手くいった。βテストの時はrootで動かしていたから気づかなかった。
ただプレビュー時にテンポラリページが見つからないと言われるのは、やはりDNS変更をしていないからか。
最近のコメント