Skip to content

Architecture

Taku Amano edited this page Jul 10, 2021 · 3 revisions

アーキテクチャ

docker container の構成

基本的には以下の4つのコンテナが実行される

  • mt
  • httpd
  • db
  • memcached

mt

httpd

  • 書き出されたファイルや、 mt-static のコンテンツを返します
  • ダイナミックパブリッシングもここで処理します
  • 基本的には apache ですが、 DOCKER_HTTPD_IMAGE を指定することで nginx に差し替えることもできます

db

  • データベースのコンテナです
  • 基本的には mysql/mariadb を想定しています
  • DOCKER_MYSQL_IMAGE を指定することで、任意のバージョンのmysql/mariadbを起動することができます

memcached

  • memcachedのコンテナです
  • DOCKER_MEMCACHED_IMAGE=busybox のように指定することで、memcachedを無効化(落ちている)状態にすることができます

その他のコンテナ

mt-watcher

トップレベルの .cgi と、以下のディレクトリに含まれるファイルを監視して、変更があった場合に mt コンテナに HUP シグナルを送信します。このコンテナは up-psgi で実行したときにのみ追加されます。

  • lib
  • extlib
  • addons
  • plugins
環境変数
  • DISABLE_MT_WATCHER=1 と指定すると、監視を無効にすることができます
  • PERL_FNS_NO_OPT=1 と指定するとデフォルトのinotifyによる監視ではなく、pollingによる監視に切り替えることができます
    • エディタなどの問題で、意図しないタイミングでファイルの更新が行われてしまう場合に、これを指定すると不要な再起動を抑制できることがあります

Clone this wiki locally