Docker Compose、Nginx、MariaDB を使用して、弾力的でスケーラブルな PHP アプリケーション クラスターを構築する

WBOY
リリース: 2023-10-12 13:50:02
オリジナル
1045 人が閲覧しました

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

Docker Compose、Nginx、MariaDB を使用して柔軟でスケーラブルな PHP アプリケーション クラスターを構築する

はじめに:
インターネット テクノロジーの急速な発展に伴い、アプリケーションの数はますます増加しています。ユーザーの増大するニーズを満たすためには、弾力性と拡張性が必要です。従来のサーバー アーキテクチャでは、柔軟な拡張を実現するには複雑な構成と調整が必要になることが多く、急速に変化するニーズに対応することが困難でした。 Docker Compose、Nginx、MariaDB を使用すると、高い同時実行性と大規模なトラフィックのニーズを満たす、柔軟でスケーラブルな PHP アプリケーション クラスターを簡単に構築できます。

1. Docker Compose の概要
Docker Compose は、複数の Docker コンテナーを定義して実行するために Docker によって公式に提供されるツールです。構成ファイルを通じて、複数のコンテナーの依存関係と構成情報を定義し、Docker Compose コマンドを使用してクラスター全体を迅速にデプロイおよび管理できます。

2. Nginx の概要
Nginx は、多数の同時接続と高負荷のリクエストを処理できる高性能 Web サーバーおよびリバース プロキシ サーバーです。 Nginx は、軽量で安定性が高く、リソース消費が少ないという特徴があり、PHP アプリケーション クラスターのフロントエンド エントリとして非常に適しています。

3. MariaDB の概要
MariaDB は、Web アプリケーションで広く使用されているリレーショナル データベース管理システムです。これは、MySQL のすべての機能を保持し、いくつかの新機能とパフォーマンスの最適化を追加した MySQL のフォークです。 MariaDB は高速、優れた安定性、強力なスケーラビリティを特徴としており、PHP アプリケーション クラスターのバックエンド データベースとして非常に適しています。

4. Docker Compose 構成ファイルを作成する
まず、docker-compose.yml という名前の Docker Compose 構成ファイルを作成する必要があります。このファイルでは、サービスのセットを定義し、サービス間の依存関係、コンテナ イメージ、ポート マッピングを指定する必要があります。以下は、サンプル構成ファイルの内容です:

version: "3" services: nginx: image: nginx:latest ports: - "80:80" volumes: - ./nginx.conf:/etc/nginx/nginx.conf depends_on: - php php: image: php:latest volumes: - ./php:/var/www/html mariadb: image: mariadb:latest ports: - "3306:3306" environment: - MYSQL_ROOT_PASSWORD=secret
ログイン後にコピー

上記の構成ファイルでは、nginx、php、mariadb の 3 つのサービスを定義します。このうち、nginx サービスは公式に提供された Nginx イメージを使用し、ホストのポート 80 をコンテナのポート 80 にマッピングします。php サービスは、公式に提供された PHP イメージを使用し、ホストの ./php ディレクトリをコンテナの /var/ www/html にマッピングします。ディレクトリ; mariadb サービスは、公式に提供された MariaDB イメージを使用し、ホストの 3306 ポートをコンテナの 3306 ポートにマップします。さらに、depends_on キーワードを使用してコンテナ間の依存関係も指定し、nginx コンテナが起動する前に php コンテナが起動するようにします。

5. Nginx 構成ファイルを作成する
次に、Web サーバーの動作とルールを指定する Nginx 構成ファイルを作成する必要があります。このファイルでは、仮想ホスト、リバース プロキシ、負荷分散、その他の機能を定義できます。以下は、サンプル構成ファイルの内容です。

server { listen 80; server_name example.com; location / { proxy_pass http://php; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } }
ログイン後にコピー

上記の構成ファイルでは、ポート 80 をリッスンし、すべてのリクエストを PHP サービスに転送する仮想ホストを定義します。 proxy_pass ディレクティブを通じて、リクエストを php という名前のサービスに転送します。これは、Docker Compose によって定義されたサービス名です。

6. アプリケーション クラスターの構築と開始
上記の構成が完了したら、Docker Compose コマンドを使用してアプリケーション クラスター全体を構築し、開始できます。ターミナルで次のコマンドを実行します。

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

このコマンドは、docker-compose.yml ファイル内の構成情報に基づいて、定義されたすべてのコンテナーを作成し、起動します。 -d パラメーターは、バックグラウンド モードで実行することを意味します。つまり、ログは端末にリアルタイムで表示されません。実行が完了すると、http://localhost にアクセスしてアプリケーションにアクセスできるようになります。

7. アプリケーション クラスターを拡張する
より高度な同時実行要件を満たすためにアプリケーション クラスターを拡張する必要がある場合は、新しい php サービスを Docker Compose 構成ファイルに追加するだけです。たとえば、次の内容を docker-compose.yml ファイルに追加できます。

php2: image: php:latest volumes: - ./php:/var/www/html
ログイン後にコピー

次に、docker-compose up -d コマンドを使用してクラスター全体を再構築し、起動します。このようにして、アプリケーション クラスターの拡張に成功し、柔軟な拡張要件を達成しました。

概要:
Docker Compose、Nginx、MariaDB を使用すると、弾力性とスケーラブルな PHP アプリケーション クラスターを簡単に構築できます。 Docker Compose はクラスターを迅速にデプロイして管理する機能を提供し、フロントエンド ポータルとしての Nginx は高い同時実行性と大規模なトラフィック リクエストを処理でき、バックエンド データベースとしての MariaDB は安定性とスケーラビリティを提供します。実際のアプリケーションでは、変化するビジネス ニーズに対応するために、特定のニーズに応じて柔軟に構成および調整できます。

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

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!