ホームページ バックエンド開発 PHPチュートリアル Docker Compose、Nginx、MariaDB を使用して高可用性 PHP アプリケーション クラスターを構築する

Docker Compose、Nginx、MariaDB を使用して高可用性 PHP アプリケーション クラスターを構築する

Oct 12, 2023 am 08:23 AM
docker nginx compose

使用Docker Compose、Nginx和MariaDB构建高可用性的PHP应用程序集群

Docker Compose、Nginx、MariaDB を使用して高可用性 PHP アプリケーション クラスターを構築する

はじめに:

インターネットの普及に伴い、Web アプリケーション開発もそして展開はより複雑になります。 Web アプリケーションの可用性とスケーラビリティを向上させるために、多くの開発者はコンテナ化テクノロジーを使用して高可用性アプリケーション クラスターを構築し始めています。この記事では、Docker Compose、Nginx、MariaDB を使用して高可用性 PHP アプリケーション クラスターを構築する方法を紹介し、具体的なコード例を示します。

1. Docker と Docker Compose をインストールする

始める前に、Docker と Docker Compose をインストールする必要があります。 Docker はコンテナの作成と管理に使用できるコンテナ化テクノロジであり、Docker Compose はマルチコンテナ Docker アプリケーションを定義して実行するためのツールです。

まず、Docker をインストールする必要があります。 Docker 公式 Web サイトでオペレーティング システム用のインストール パッケージを見つけ、公式の手順に従ってインストールできます。

インストールが完了したら、ターミナルを開いて次のコマンドを実行して、Docker が正常にインストールされているかどうかを確認できます:

docker --version
ログイン後にコピー

次に、Docker Compose をインストールする必要があります。最新バージョンのバイナリを Docker Compose GitHub リポジトリからダウンロードし、システム ディレクトリに配置できます。

インストールが完了したら、次のコマンドを実行して、Docker Compose が正常にインストールされているかどうかを確認できます。

docker-compose --version
ログイン後にコピー

上記のコマンドが正常に実行された場合、Docker と Docker Compose は正常にインストールされています。

2. Docker Compose ファイルの作成

次に、PHP アプリケーション クラスターを定義するために、docker-compose.yml という名前のファイルを作成する必要があります。以下は基本的な例です:

version: '3'

services:
  web:
    image: nginx:latest
    ports:
      - 80:80
    volumes:
      - ./src:/var/www/html
      - ./nginx.conf:/etc/nginx/nginx.conf
    depends_on:
      - php
  php:
    image: php:7.4-fpm
    volumes:
      - ./src:/var/www/html
  db:
    image: mariadb:latest
    environment:
      - MYSQL_ROOT_PASSWORD=secret
    volumes:
      - ./data:/var/lib/mysql
ログイン後にコピー

上の例では、web、php、db の 3 つのサービスを定義しました。 Web サービスは、Nginx をリバース プロキシ サーバーとして使用し、php サービスで実行されている PHP アプリケーションにトラフィックを転送します。 php サービスは、PHP インタープリターとして PHP-FPM を使用し、アプリケーション コードをコンテナーの /var/www/html ディレクトリにマウントします。 db サービスは MariaDB をデータベース サーバーとして使用し、データ ストレージ ディレクトリをマウントします。

3. Nginx 設定ファイルの作成

Nginx サーバーを設定するには、nginx.conf という名前のファイルを作成する必要があります。以下は基本的な例です:

worker_processes auto;

events {
    worker_connections 1024;
}

http {
    server {
        listen 80;
        server_name localhost;

        location / {
            proxy_pass http://php;
            proxy_set_header Host $host;
        }
    }
}
ログイン後にコピー

上の例では、ポート 80 でリッスンし、トラフィックを php サービスにプロキシする単純な Nginx サーバーを定義しました。

4. PHP アプリケーションの作成

クラスターが適切に動作しているかどうかをテストするために、単純な PHP アプリケーションを作成する必要があります。以下は基本的な例です:

<?php
  $servername = "db";
  $username = "root";
  $password = "secret";
  $dbname = "mydb";

  $conn = new mysqli($servername, $username, $password, $dbname);

  if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
  }

  echo "Connected successfully to MariaDB server";

  $conn->close();
?>
ログイン後にコピー

上の例では、mydb という名前のデータベースを作成し、root ユーザーとシークレット パスワードを使用して MariaDB サーバーに接続しました。接続に成功すると「MariaDB サーバーに正常に接続されました」と出力されます。

5. アプリケーション クラスターの開始

ターミナルで docker-compose.yml ファイルがあるディレクトリに移動し、次のコマンドを実行してアプリケーション クラスターを開始します:

docker-compose up -d
ログイン後にコピー

このコマンドは、必要なイメージをダウンロードして開始し、コンテナーを作成して実行します。

6. アプリケーション クラスターのテスト

ブラウザーで http://localhost にアクセスすると、「MariaDB サーバーに正常に接続されました」という出力が表示されるはずです。これは、PHP アプリケーションが正常に動作していることを示しています。プログラムは MariaDB データベースに正常に接続しました。

7. アプリケーション クラスターの拡張と管理

docker-compose.yml ファイルを変更し、再度 docker-compose up -d コマンドを実行することで、アプリケーション クラスターを簡単に拡張および管理できます。 Web、php、db サービスのインスタンスの数を増減したり、必要に応じて構成を変更したりできます。

概要:

この記事では、Docker Compose、Nginx、MariaDB を使用して高可用性 PHP アプリケーション クラスターを構築する方法を紹介します。 Docker Compose を介して Nginx、PHP、MariaDB で構成されるマルチコンテナ アプリケーションを定義し、具体的なコード例を示しました。このクラスターを使用すると、アプリケーションを簡単に拡張および管理し、可用性と拡張性を向上させることができます。この記事が、可用性の高い PHP アプリケーション クラスターを構築する方法を理解するのに役立つことを願っています。

以上がDocker Compose、Nginx、MariaDB を使用して高可用性 PHP アプリケーション クラスターを構築するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Dockerによってコンテナを出る方法 Dockerによってコンテナを出る方法 Apr 15, 2025 pm 12:15 PM

Dockerコンテナを終了する4つの方法:コンテナ端子でCtrl Dを使用するコンテナターミナルに出口コマンドを入力しますDocker stop&lt; container_name&gt;コマンドを使用するDocker Kill&lt; container_name&gt;ホストターミナルのコマンド(フォース出口)

Dockerのファイルを外部にコピーする方法 Dockerのファイルを外部にコピーする方法 Apr 15, 2025 pm 12:12 PM

Dockerの外部ホストにファイルをコピーする方法:Docker CPコマンドを使用:Docker CP [Options]&lt; Container Path&gt; &lt;ホストパス&gt;。データボリュームの使用:ホストにディレクトリを作成し、-vパラメーターを使用してコンテナを作成するときにディレクトリをコンテナにマウントして、双方向ファイルの同期を実現します。

Dockerの画像を更新する方法 Dockerの画像を更新する方法 Apr 15, 2025 pm 12:03 PM

Docker画像を更新する手順は次のとおりです。最新の画像タグ新しい画像をプルする新しい画像は、特定のタグのために古い画像を削除します(オプション)コンテナを再起動します(必要に応じて)

Dockerコンテナの名前を確認する方法 Dockerコンテナの名前を確認する方法 Apr 15, 2025 pm 12:21 PM

すべてのコンテナ(Docker PS)をリストする手順に従って、Dockerコンテナ名を照会できます。コンテナリストをフィルタリングします(GREPコマンドを使用)。コンテナ名(「名前」列にあります)を取得します。

Dockerを再起動する方法 Dockerを再起動する方法 Apr 15, 2025 pm 12:06 PM

Dockerコンテナを再起動する方法:コンテナID(Docker PS)を取得します。コンテナを停止します(docker stop&lt; container_id&gt;);コンテナを起動します(docker start&lt; container_id&gt;);再起動が成功していることを確認します(Docker PS)。その他の方法:Docker Compose(Docker-Compose Restart)またはDocker API(Dockerドキュメントを参照)。

Dockerプロセスを表示する方法 Dockerプロセスを表示する方法 Apr 15, 2025 am 11:48 AM

Dockerプロセス表示方法:1。DockerCLIコマンド:Docker PS; 2。SystemDCLIコマンド:SystemCTL Status Docker; 3。CLIコマンドを作成するDocker:Docker-Compose PS。 4。プロセスエクスプローラー(Windows); 5。 /procディレクトリ(Linux)。

DockerによるMySQLを開始する方法 DockerによるMySQLを開始する方法 Apr 15, 2025 pm 12:09 PM

DockerでMySQLを起動するプロセスは、次の手順で構成されています。MySQLイメージをプルしてコンテナを作成および起動し、ルートユーザーパスワードを設定し、ポート検証接続をマップしてデータベースを作成し、ユーザーはすべての権限をデータベースに付与します。

Dockerデスクトップの使用方法 Dockerデスクトップの使用方法 Apr 15, 2025 am 11:45 AM

Dockerデスクトップの使用方法は? Dockerデスクトップは、ローカルマシンでDockerコンテナを実行するためのツールです。使用する手順には次のものがあります。1。Dockerデスクトップをインストールします。 2。Dockerデスクトップを開始します。 3。Docker Imageを作成します(DockerFileを使用); 4. Docker画像をビルド(Docker Buildを使用); 5。Dockerコンテナを実行します(Docker Runを使用)。

See all articles