ホームページ >バックエンド開発 >PHPチュートリアル >Docker Compose、Nginx、MariaDB の黄金レシピ: 高可用性 PHP アプリケーション アーキテクチャ

Docker Compose、Nginx、MariaDB の黄金レシピ: 高可用性 PHP アプリケーション アーキテクチャ

PHPz
PHPzオリジナル
2023-10-12 09:25:58896ブラウズ

Docker Compose、Nginx和MariaDB的黄金配方:高可用PHP应用程序架构

Docker Compose、Nginx、MariaDB の黄金レシピ: 高可用性 PHP アプリケーション アーキテクチャ

[はじめに]
今日のインターネット時代では、高可用性が不可欠です。すべてのウェブサイトとアプリは非常に重要です。この目標を達成するには、安定したスケーラブルでパフォーマンスの高いアーキテクチャを構築する必要があります。この記事では、Docker Compose、Nginx、MariaDB を使用して高可用性 PHP アプリケーション アーキテクチャを構築する方法を紹介し、具体的なコード例を示します。

[パート 1: アーキテクチャの概要]
私たちの目標は、PHP アプリケーションが複数のインスタンスで実行され、負荷分散を通じて分散される高可用性アーキテクチャを構築することです。さらに、データベース層として MariaDB を使用し、リバース プロキシ サーバーとして Nginx を使用します。

[パート 2: Docker Compose]
Docker Compose を使用して、アプリケーション スタック全体を定義および管理します。これにより、単純な YAML ファイルを使用してすべてのコンテナを定義および構成できます。以下は、PHP アプリケーション コンテナ、Nginx コンテナ、および MariaDB コンテナを含む Docker Compose ファイルの例です。

version: '3'
services:
  app:
    build:
      context: .
      dockerfile: Dockerfile
    ports:
      - 8000:80
    environment:
      - DB_HOST=mariadb
  nginx:
    image: nginx:latest
    ports:
      - 80:80
    volumes:
      - ./nginx.conf:/etc/nginx/nginx.conf:ro
  mariadb:
    image: mariadb:latest
    environment:
      - MYSQL_ROOT_PASSWORD=secret

[パート 3: Nginx 構成]
Nginx はリバース プロキシ サーバーとして機能します。負荷分散を通じて複数の PHP アプリケーション インスタンスに分散されます。これを実現するには、Nginx の設定ファイルを変更する必要があります。以下は、簡略化された Nginx 構成ファイルの例です。

worker_processes  1;
events {
    worker_connections  1024;
}
http {
    upstream php {
        server app1:80;
        server app2:80;
        # 可以根据需要修改添加更多的PHP应用实例
    }
    server {
        listen 80;
        location / {
            proxy_pass http://php;
        }
    }
}

[パート 4: PHP アプリケーション]
PHP アプリケーションは、Slim フレームワークを使用して HTTP リクエストを処理する単純な例です。以下は、index.php ファイルの例です:

<?php
require __DIR__ . '/vendor/autoload.php';

$app = new SlimApp();

$app->get('/', function ($request, $response) {
    $response->getBody()->write("Hello, world!");
    return $response;
});

$app->run();

[パート 5: 起動と管理]
アプリケーション スタックを開始するには、次のコマンドを実行するだけです:

docker-compose up -d

これが開始されます。すべてのコンテナを接続して接続します。 PHP アプリケーションのインスタンスが複数ある場合、Docker Compose はインスタンスごとに新しいコンテナーを作成します。

アプリケーションをスケーリングするには、次のコマンドを実行するだけです:

docker-compose scale app=3

これにより、既存のアプリケーション インスタンスに加えて、さらに 2 つのインスタンスが起動されます。

[結論]
Docker Compose、Nginx、MariaDB を組み合わせることで、可用性が高く、スケーラブルでパフォーマンスの高い PHP アプリケーション アーキテクチャを構築できます。この黄金のレシピは、アプリケーションの信頼性を向上させるだけでなく、展開と管理も簡素化します。この記事で提供されている具体的なコード例が役立つことを願っています。あなたのアプリケーションが成功しますように!

以上がDocker Compose、Nginx、MariaDB の黄金レシピ: 高可用性 PHP アプリケーション アーキテクチャの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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