Docker Compose、Nginx、MariaDB を使用した PHP アプリケーションのキャパシティ プランニングの最適化
インターネットが発展し続けるにつれて、開発言語として PHP を使用するアプリケーションがますます増えています。ただし、PHP アプリケーションは、同時実行性が高くデータ量が大きい場合、パフォーマンスのボトルネックに遭遇することがよくあります。 PHP アプリケーションのパフォーマンスと容量を向上させるために、Docker Compose、Nginx、MariaDB を組み合わせて容量計画と最適化を行うことができます。
Docker Compose は、複数コンテナー アプリケーションの定義と管理に使用できる Docker 用のツールです。 Docker Compose を使用すると、PHP、Nginx、MariaDB などの複数のコンテナーを 1 つのファイルで定義してデプロイできます。このようにして、PHP アプリケーションの開発および運用環境を迅速かつ簡単にセットアップできます。
Nginx は、リバース プロキシ サーバーの機能も備えた高性能 HTTP サーバーです。 Nginx を PHP アプリケーションのフロントエンド サーバーとして使用すると、ロード バランシング、静的リソース キャッシュ、HTTPS サポートなどの機能を実現でき、PHP アプリケーションのパフォーマンスと容量が向上します。
MariaDB は、オープンソースのリレーショナル データベース管理システムであり、MySQL のブランチです。 MariaDB を使用すると、データの保存、読み取り、更新など、PHP アプリケーションのデータベース関連タスクを処理できます。 MariaDB は、高性能、高信頼性、拡張性という特徴を持ち、PHP アプリケーションの容量計画と最適化において重要な役割を果たします。
以下では、単純な PHP アプリケーションを例として、容量計画と最適化に Docker Compose、Nginx、MariaDB を使用する具体的な手順とコード例を示します。
まず、docker-compose.yml という名前のファイルを作成して、PHP、Nginx、MariaDB コンテナーの構成とデプロイメントを定義および管理します。 docker-compose.yml ファイルの例の内容を次に示します。
version: '3' services: web: build: . restart: always ports: - 80:80 volumes: - ./app:/var/www/html db: image: mariadb restart: always environment: - MYSQL_ROOT_PASSWORD=example - MYSQL_DATABASE=example - MYSQL_USER=example - MYSQL_PASSWORD=example
上記の例では、web という名前のサービスが、PHP アプリケーションを実行するコンテナに対して定義されています。 build フィールドはコンテナの構築に使用される Dockerfile を指定し、restart フィールドはコンテナの再起動戦略を指定し、ports フィールドはコンテナとホスト間のポート マッピング関係を指定し、volumes フィールドはコンテナ間のディレクトリ マッピング関係を指定します。そしてホスト。
次に、PHP アプリケーション コンテナーを構築するための構成と依存関係を定義する Dockerfile というファイルを作成します。以下は、Dockerfile ファイルの内容の例です。
FROM php:7.4-apache COPY src/ /var/www/html/
上記の例では、基本イメージ php:7.4-apache が、PHP アプリケーション コンテナを構築するための基本環境として使用され、COPY 命令を使用して、ローカルの src ディレクトリに PHP アプリケーション ファイルをコンテナ内の /var/www/html ディレクトリにコピーします。
次に、default.conf という名前のファイルを作成して、Nginx コンテナーの構成を定義します。以下は、default.conf ファイルの例の内容です:
server { listen 80; server_name localhost; root /var/www/html; location / { try_files $uri $uri/ /index.php?$args; } location ~ .php$ { try_files $uri =404; fastcgi_pass web:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param PHP_VALUE "error_log=/var/log/nginx/php_errors.log"; include fastcgi_params; } location ~ /.ht { deny all; } }
上記の例では、server という名前のサーバー ブロックが定義され、ポート、ドメイン名、ルート ディレクトリ、Nginx がリッスンするリクエストを処理するためのルールが指定されています。の上。このうち、location / ブロックは静的リソースと PHP リクエストの処理に使用され、location ~ .php$ ブロックは PHP スクリプトの実行の処理に使用されます。
最後に、コマンド ラインで docker-compose.yml ファイルがあるディレクトリに切り替えて次のコマンドを実行することで、PHP、Nginx、MariaDB コンテナーの実行を開始および管理できます。
docker-compose up -d
以上がDocker Compose、Nginx、MariaDB を使用して PHP アプリケーションのキャパシティ プランニングを最適化するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。