Docker Compose、Nginx、MariaDB を使用してエラスティックな PHP アプリケーション アーキテクチャを構築する
クラウド コンピューティングとコンテナ化テクノロジーの発展により、エラスティックなアプリケーション アーキテクチャの構築がより重要になりました。 。この記事では、Docker Compose、Nginx、MariaDB を使用して回復力のある PHP アプリケーション アーキテクチャを構築する方法を紹介し、具体的なコード例を示します。
version: '3' services: web: image: nginx:latest restart: always ports: - 80:80 - 443:443 volumes: - ./nginx.conf:/etc/nginx/nginx.conf depends_on: - php php: image: php:latest restart: always volumes: - ./code:/var/www/html db: image: mariadb:latest restart: always environment: - MYSQL_ROOT_PASSWORD=root - MYSQL_DATABASE=app - MYSQL_USER=appuser - MYSQL_PASSWORD=apppassword
上記の構成ファイルは、web、php、db の 3 つのサービスを定義します。 Web サービスは、最新の Nginx イメージを使用して、ポート 80 と 443 をホストにマッピングします。 Web サービスは、ローカルの nginx.conf ファイルをコンテナーにマウントすることによって、Nginx 構成もカスタマイズします。 php サービスは最新の PHP イメージを使用し、ローカル コード ディレクトリをコンテナーにマウントすることでコードを共有します。 db サービスは最新の MariaDB イメージを使用し、root ユーザーとアプリ データベースのパスワードが設定されます。
worker_processes auto; pid /run/nginx.pid; events { worker_connections 1024; } http { include /etc/nginx/mime.types; default_type application/octet-stream; server { listen 80; location / { proxy_pass http://php:80; proxy_set_header Host $host; } } }
上記の構成ファイルでは、Nginx ワーカー プロセスの数、ポートおよびプロキシ ルールを指定します。 Nginx リスニング用。この例では、Nginx はすべてのリクエストを PHP コンテナーのポート 80 にプロキシします。
docker-compose up -d
このコマンドは構成に基づきます。 docker-compose.yml ファイル内 すべてのコンテナを起動して管理します。 -d パラメーターを追加すると、コンテナーがバックグラウンドで実行されます。
php: image: php:latest restart: always volumes: - ./code:/var/www/html scale: 3
上記の構成では 3 つの PHP コンテナーが作成され、各コンテナーのコードと構成は同じになります。このようにして、より多くのリクエストが来ると、Docker Compose は自動的にリクエストを異なる PHP コンテナに分散し、スケーリングを実現します。
概要
この記事では、Docker Compose、Nginx、MariaDB を使用して回復力のある PHP アプリケーション アーキテクチャを構築する方法を紹介します。 Docker Compose を使用すると、複数の Docker コンテナを簡単に定義して実行し、Nginx を介してリクエスト プロキシと負荷分散を実装し、MariaDB を介してアプリケーション データを保存できます。また、PHP コンテナーの数を増やしてアプリケーションをスケールする方法も示しました。この記事がお役に立てば幸いです。ご質問がございましたら、お気軽にお問い合わせください。
以上がDocker Compose、Nginx、MariaDB を使用して回復力のある PHP アプリケーション アーキテクチャを構築するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。