カテゴリー
Docker Wordpress

PHPのバージョンを上げたい件(その3)

運用前の走行確認

パフォーマンスが気になったので、nginxコンテナ とWordpress/My SQLコンテナだけ起動して走確してみました。

結果としては、まともにブラウザ表示できない状況でした。試しに、VMインスタンスのファイアウォール設定で8080を空けて、Wordpressコンテナに直接アクセスできるようにすると問題なかったので、nginxを経由していることが原因と思われます。

以下、設定です。

  • ポート80はnginxが待ち受け
  • WordPressはポート8080で待ち受け
  • nginxのlocaltion設定で、「/」アクセスをポート8080に振り分け
events {
    worker_connections  16;
}
http {
    server {
        listen 80;
        server_name localhost;
        location / {
            proxy_pass http://<ip-address>:8080/;
            proxy_redirect default;
        }
    }
}

方針変更

どうやら、ngnixとサービス(Wordpressなど)を同一インスタンスで動作させるのが厳しそう(マシンタイプを上げればよいのかもしれませんが、費用も嵩むので。。)なので、f1-microインスタンスを2つ使い、それぞれdockerエンジンを駆動することにします。(一つは無料枠で賄えるので、全体をg1-smallインスタンスで動かすより安く上がるはず)

  • インスタンス1
    • nginxコンテナを駆動、静的IPを割当、windesign.workドメインを関連づけ
    • SSL設定
    • localtion設定で、インスタンス2で動くWordpressコンテナに振り分け
    • Grafana、InfluxDBの各コンテナを駆動
      • とりあえず、GrafanaとInfluxDBのSSL対応は先送り
  • インスタンス2
    • WordPress、MySQLの各コンテナを駆動
      • Grafanaとnginx、Wordpress、MySQLを駆動したら、Dockerがout of memoryで落ちてしまった。
      • GrafanaとInfluxDBは、インスタンス1で駆動することにする。(リバースプロキシの対象外)

下記は、これまで想定していた流れですが、2つのVMインスタンスとの対応を追記しました。

  1. Dockerエンジンが動くGCEインスタンス(以下、新サイト)の作成
    • インスタンス1と2
  2. リバースプロキシ・コンテナを起動
    • インスタンス1
    1. アクセスすると既存サイトに転送されるように
    2. SSL設定
    3. windesign.workドメインを外部IPアドレスに紐づけ
  3. WordPressコンテナを起動し、バックアップからリストア
    • インスタンス2
  4. リバースプロキシの転送先をWordPressコンテナに切り替え
    • インスタンス1
  5. Grafana、InfluxDBコンテナを起動
    • インスタンス1
  6. リバースプロキシの転送先に、GrafanaコンテナとInfluxDBコンテナを追加
    • インスタンス1

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA