Docker Swarmを使用してWordPressを構築する方法

Docker Swarmを使用してWordPressを構築する方法

原因

かつて私は Vultr に WordPress を設定しましたが、よく知られている理由により、この場所へのアクセスがどんどん遅くなっていきました。その後、私はSina Cloudを選択しました。Sina Cloudは確かに安くて良いのですが、登録が必要で、コメント機能は削除される可能性があります。考えた後、あきらめて香港でホストを見つけてWordPressを構築することにしました。

ホスティングを購入する

私は Alibaba Cloud の軽量アプリケーション サーバーを選択しました。このホストの利点は、安価で十分なことです。
たとえば、私が選んだ香港のホストは、コア 1 つとメモリ 1 GB、ネットワーク速度 30 Mbps、ディスク容量 25 GB、月間トラフィック 1 TB で月額 24 ドルしかかかりません。

構成は以下のとおりです

Docker環境を初期化する

上記にはWordPressをインストールする機能もありますが、設定が古すぎるためお勧めしません。最終的にはUbuntu 18.04システムを選択しました。以下のコマンドでdockerをインストールし、docker swarmを直接初期化できます。

ubunut をインストールして、次のコマンドを実行します。

docker-compose を書く

構成の概要

バージョン: '3.7'

サービス:
 キャディー:
  画像: abiosoft/caddy
  ポート:
   - 80:80
   -443:443
  環境:
   - ACME_AGREE=true
   - TZ=アジア/上海
  ボリューム:
   - キャディ:/root/.キャディ
   - wp-src:/usr/src/wordpress
  構成:
   - 出典: wp_caddy
    ターゲット: /etc/Caddyfile
 アプリ:
  画像: wordpress:5.4.1-php7.2-fpm
  環境:
   TZ: アジア/上海
   WORDPRESS_DB_HOST: wp_db:3306
   WORDPRESS_DB_USER: ルート
   WORDPRESS_DB_PASSWORD: パスワード
   WORDPRESS_DB_NAME: ワードプレス
  依存:
   -db
  ボリューム:
   - wordpress:/var/www/html
   - wp-src:/usr/src/wordpress
 デシベル:
  イメージ:mysql:8
  環境:
   TZ: アジア/上海
   MYSQL_ROOT_PASSWORD: パスワード
   MYSQL_DATABASE: ワードプレス
  コマンド: --default-authentication-plugin=mysql_native_password
  ボリューム:
   -db:/var/lib/mysql

ボリューム:
 ワードプレス:
 デシベル:
 キャディー:
 ソース:
構成:
 wp_caddy:
  外部: 真

構成解析

キャディー

リバースプロキシとして使用し、https証明書の適用を考慮した構成は次のとおりです。

https://47log.com https://www.47log.com
  ルート /usr/src/wordpress
  圧縮
  高速cgi/wp_app:9000php
  書き換える {
    {path} が一致しない場合 ^\/wp-admin
    {path} へ {path}/ /index.php?_url={uri}
  }
  標準出力をログする
  エラー stderr
}

ここでは、docker swarm の config 機能を使用し、wp_caddy 構成に直接構成を書き込みました。

デシベル

ここでは、WordPress でサポートされており、パフォーマンスが優れている MySQL8 が使用されています。コマンドは、--default-authentication-plugin=mysql_native_password で追加する必要があることに注意してください。そうしないと、パスワード認証ができなくなります。私はこれを追加するのを忘れてしまい、しばらく苦労しました。

アプリ

接続方法に注意してください。docker スタックを使用してデプロイする場合は、デプロイの名前にプレフィックスを追加する必要があります。たとえば、ここでは docker stack deploy -c docker-compose.yml wp を使用し、docker ネットワーク内のデータベースのホストは wp_db です。スタック名が wordpress の場合は、それに応じて wordpress_db に変更する必要があります。

注: ボリュームの設定
- wordpress:/var/www/html これは設定する必要があります。前回はこれを設定していませんでした。コンテナを削除したらテーマが消えてしまいました。

dockerスタックを使用してデプロイする

コマンド1行docker stack deploy -c docker-compose.yml wpしばらく待つとWordPressに入ることができます

docker swarm を使用する理由。 portainer のおかげで、docker-swarm は portainer に接続した後、フル機能の設定機能を利用できるようになります。

Docker Swarm を使って WordPress を構築する方法についての記事はこれで終わりです。Docker Swarm を使って WordPress を構築する方法についての詳細は、123WORDPRESS.COM の過去の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • Docker Swarm クラスタ管理の使用と原理の分析
  • Docker Swarm を使用して分散クローラー クラスターを構築する例
  • Docker Swarmを使用してクラスターを構築する方法
  • Docker 1.12 を使用してマルチホスト Docker Swarm クラスターを構築する詳細な説明
  • Docker をインストールして Docker Swarm モードで使用する方法
  • Docker swarm の簡単なチュートリアル

<<:  WiFi 開発 | WiFi ワイヤレス テクノロジーの紹介

>>:  ネイティブJSで様々なモーションの複合モーションを実現

推薦する

HTML テキストエスケープのヒント

今日、CSDN で HTML テキスト エスケープのちょっとしたトリックを見ましたが、とても簡単です...

MySQL スライディングオーダー問題の原理と解決の例分析

この記事では、例を使用して、MySQL スライディング順序問題の原理と解決方法を説明します。ご参考ま...

vue-router のハッシュモードと履歴モードの違い

vue-routerには2つのモードがありますハッシュモード履歴モード1. シングルページアプリケー...

Typescriptを使用してWeChatミニプログラムを開発するための詳細な手順

Typescript の利点については詳しく説明する必要はありません。ご興味があれば、(https:...

HTML要素を非表示にするいくつかの方法

1. CSSを使用するコードをコピーコードは次のとおりです。スタイル="display:n...

Windows 10 システムで nginx ファイル サーバーを構成するためのグラフィック チュートリアル

Nginx の公式 Web サイトから Windows バージョンの Nginx をダウンロードしま...

Vue3 の emitting と attr の違いの分析

目次結論は実践分析拡張機能要約する結論は親コンポーネントでカスタム イベントが定義されている場合、子...

Apple の携帯電話のロックを解除するときに光沢のあるフォント効果を実現するために CSS3 を使用する例

0. はじめに2016 年 8 月 18 日 今日、iPhone をスライドさせてロックを解除すると...

docker ログ - docker コンテナ ログの実装を表示します

docker logs コマンドを使用してコンテナ ログを表示できます。コマンド形式: $ dock...

this.parentNode.parentNode (親ノードの親ノード) はどういう意味ですか?

親ノードの親ノード、例えば、このような段落がありますHTML:コードをコピーコードは次のとおりです。...

Ubuntu 18.04 は pyenv、pyenv-virtualenv、virtualenv、Numpy、SciPy、Pillow、Matplotlib をインストールします

1. 現在、Pythonのバージョン管理ツールは数多く存在します。その中でも比較的使いやすいのがPy...

Vant+postcss-pxtoremはブラウザ適応機能を実装します

Remレイアウトの適応Vant のスタイルでは、デフォルトで px を単位として使用します。rem ...

nginx のバージョン番号と WEB サーバー情報を隠すための解決策

Nginxはバージョン情報を隠すだけでなく、カスタムWebサーバー情報もサポートします。まずは最終的...