ホームページ  >  記事  >  バックエンド開発  >  Docker Compose、Nginx、MariaDB で PHP アプリケーションのデプロイメントを高速化

Docker Compose、Nginx、MariaDB で PHP アプリケーションのデプロイメントを高速化

WBOY
WBOYオリジナル
2023-10-12 08:19:551028ブラウズ

使用Docker Compose、Nginx和MariaDB加速PHP应用程序的部署速度

タイトル: Docker Compose、Nginx、MariaDB を使用して PHP アプリケーションのデプロイメントを加速する

はじめに: クラウド コンピューティングとコンテナ テクノロジーの広範な適用により、ますます多くの開発者は、アプリケーションを迅速に展開して拡張する方法に注目し始めています。 PHP 開発では、Docker Compose、Nginx、MariaDB を使用すると、アプリケーションのデプロイメントを大幅に高速化できます。この記事では、これらのツールを使用して、PHP アプリケーションの開発環境を迅速に構築および管理する方法を紹介します。

1. Docker Compose の概要

Docker Compose は、複数コンテナーの Docker アプリケーションを定義および実行するためのツールです。すべてのコンテナーの設定を管理する構成ファイルを使用すると、Docker Compose を使用してアプリケーション全体を一度に定義、実行、停止できます。 Docker Compose を使用すると、デプロイメントプロセスが大幅に簡素化され、コンテナーのオーケストレーションとスケーリング機能が提供されます。

2. Web サーバーとしての Nginx

Nginx は、高性能のオープンソース Web サーバーおよびリバース プロキシ サーバーです。負荷分散、容量スケーリング、静的コンテンツ キャッシュなどの機能を提供しながら、多数の同時接続を処理できます。 PHP アプリケーションでは、Nginx を Web サーバーとして使用すると、アプリケーションのパフォーマンスと同時処理能力を向上させることができます。

以下は、Nginx と PHP-FPM (PHP FastCGI Process Manager) を使用した簡単な Docker Compose 構成例です。

version: "3.7"
services:
  web:
    image: nginx:latest
    ports:
      - 80:80
    volumes:
      - ./nginx.conf:/etc/nginx/nginx.conf
      - ./code:/var/www/html
  php:
    image: php:latest
    volumes:
      - ./code:/var/www/html

上記の構成では、web と php の 2 つのサービスを定義しました。 Web サービスは Nginx ミラーリングを使用し、コンテナーのポート 80 をホストのポート 80 にマップします。同時に、Nginx 構成ファイル nginx.conf と PHP コードをホスト マシンの指定されたディレクトリに保存します。 php サービスは PHP イメージを使用し、コード ディレクトリをコンテナの /var/www/html ディレクトリにマウントします。

3. MariaDB をデータベースとして使用する

MariaDB は人気のあるリレーショナル データベース管理システムで、MySQL の 1 つであり、高パフォーマンス、高可用性、強力な機能を提供します。 PHP アプリケーションでは、MariaDB をデータベースとして使用すると、データ アクセス速度とデータ管理機能が向上します。

以下は、MariaDB と上記の Nginx および PHP-FPM を使用した簡単な Docker Compose 構成例です。

version: "3.7"
services:
  web:
    image: nginx:latest
    ports:
      - 80:80
    volumes:
      - ./nginx.conf:/etc/nginx/nginx.conf
      - ./code:/var/www/html
  php:
    image: php:latest
    volumes:
      - ./code:/var/www/html
  db:
    image: mariadb:latest
    environment:
      - MYSQL_ROOT_PASSWORD=yourpassword
    volumes:
      - ./data:/var/lib/mysql

上記の構成では、MariaDB を使用して新しい db サービスを追加しました。ミラーリングして、root ユーザーのパスワードを設定します。同時に、データベース データをコンテナの /var/lib/mysql ディレクトリに保存します。

4. デプロイメントと管理に Docker Compose を使用する

上記の Docker Compose 構成を行った後、次のコマンドを使用して、ワンクリックで PHP アプリケーションをデプロイおよび管理できます:

  1. コンテナのビルドと起動: docker-compose.yml ファイルが含まれるディレクトリで次のコマンドを実行して、すべてのコンテナをビルドして起動します。

    docker-compose up -d
  2. コンテナの停止: 次のコマンドを実行すると、すべてのコンテナが停止します。

    docker-compose down
  3. 拡張サービス: Web サービスまたは PHP サービスを拡張する必要がある場合は、docker-compose.yml ファイル内の対応するサービスのコピー数を調整するだけです。

    version: "3.7"
    services:
      web:
        image: nginx:latest
        ports:
          - 80:80
        volumes:
          - ./nginx.conf:/etc/nginx/nginx.conf
          - ./code:/var/www/html
        scale: 3
      php:
        image: php:latest
        volumes:
          - ./code:/var/www/html
        scale: 3

    次に、以下のコマンドを実行して容量を拡張します。

    docker-compose up -d --scale web=3 --scale php=3

Docker Compose、Nginx、MariaDB を使用することで、PHP アプリケーションの開発環境を迅速に構築および管理でき、簡単にデプロイおよび拡張できます。このアプローチにより、アプリケーションの展開が高速化されるだけでなく、パフォーマンスとスケーラビリティも向上します。

以上がDocker Compose、Nginx、MariaDB で PHP アプリケーションのデプロイメントを高速化の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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