ホームページ  >  記事  >  バックエンド開発  >  Docker Compose、Nginx、MariaDB の組み合わせ: PHP アプリケーションを効率的に運用および保守します

Docker Compose、Nginx、MariaDB の組み合わせ: PHP アプリケーションを効率的に運用および保守します

WBOY
WBOYオリジナル
2023-10-12 14:14:031755ブラウズ

Docker Compose、Nginx和MariaDB的搭配之道:高效运维PHP应用程序

Docker Compose、Nginx、MariaDB を組み合わせる方法: PHP アプリケーションを効率的に運用および保守する

はじめに:

今日のインターネット時代では、アプリケーションの需要ネットワークの規模は拡大し続けているため、効率的な運用、保守、展開ソリューションが重要です。 Docker は、アプリケーションの展開と管理の複雑さを解決する人気のあるコンテナ化プラットフォームです。 Docker Compose は、シンプルな構成ファイルを通じて複数のコンテナの組み合わせを定義および管理できる Docker の強力なツールです。この記事では、Nginx および MariaDB で Docker Compose を使用して PHP アプリケーションを効率的に運用および保守する方法に焦点を当て、具体的なコード例を示します。

1. Docker Compose の概要

Docker Compose は、複数の Docker コンテナーを定義および管理するために Docker によって正式に開始されたツールです。シンプルな YAML ファイルを通じて、複数のコンテナ、コンテナ間の依存関係、ネットワーク構成などを簡単に定義できます。

Docker Compose を使用する利点は次のとおりです。

  1. デプロイメント プロセスの簡素化: 構成ファイルを定義することで、アプリケーション全体を迅速かつ一貫してデプロイできます。
  2. スケーラビリティの向上: アプリケーションは複数のホスト間で簡単に拡張できます。
  3. 管理と監視が簡単: Docker Compose コマンドを使用して、コンテナーの開始、停止、再起動、ログの表示を行うことができます。

2. Nginx の使用

Nginx は、リバース プロキシ サーバー、負荷分散サーバー、静的リソース サーバーなどとして使用できる軽量で高性能な Web サーバーです。使用。 PHP アプリケーションでは、Nginx をリバース プロキシ サーバーとして使用して、バックエンドの PHP-FPM サーバーにリクエストを転送できます。

以下は、Docker Compose と Nginx を使用したサンプル構成ファイル (docker-compose.yml) です。

version: '3'

services:
  nginx:
    image: nginx:latest
    ports:
      - 80:80
    volumes:
      - ./nginx.conf:/etc/nginx/nginx.conf
      - ./public:/var/www/html

  php:
    image: php:7.4-fpm
    volumes:
      - ./public:/var/www/html

networks:
  default:
    external:
      name: my-network

上記の構成では、nginx という名前のサービスと、For php services という名前のサービスを定義します。 。このうち、nginx サービスは公式の nginx イメージを使用し、コンテナのポート 80 をホストのポート 80 にマッピングします。同時に、nginx 構成ファイル (nginx.conf) と、PHP アプリケーションが配置されているパブリック ディレクトリをコンテナーにマウントします。

3. MariaDB の使用

MariaDB は、無料のオープンソース リレーショナル データベース管理システムであり、MySQL の 1 つであり、高性能で信頼性の高いデータベース ソリューションを提供します。 PHP アプリケーションでは、バックエンド データベースとして MariaDB を使用できます。

以下は、Docker Compose と MariaDB を使用したサンプル構成ファイル (docker-compose.yml) です:

version: '3'

services:
  db:
    image: mariadb:latest
    ports:
      - 3306:3306
    environment:
      - MYSQL_ROOT_PASSWORD=secret
      - MYSQL_DATABASE=my_database
      - MYSQL_USER=my_user
      - MYSQL_PASSWORD=my_password
    volumes:
      - ./data:/var/lib/mysql

  php:
    image: php:7.4-fpm
    volumes:
      - ./public:/var/www/html

networks:
  default:
    external:
      name: my-network

上記の構成では、db という名前のサービスと For php という名前のサービスを定義します。サービス。このうち、db サービスは公式の MariaDB イメージを使用し、コンテナの 3306 ポートをホストの 3306 ポートにマッピングします。また、root パスワード、データベース名、ユーザーとパスワードなどの環境変数を通じて、データベースの関連構成も設定します。同時に、データベース フォルダーをコンテナーにマウントして、データの永続的な保存を確保します。

4. 完全なサンプル構成

以下は、Docker Compose、Nginx、MariaDB を使用した PHP アプリケーションの効率的な運用とメンテナンスのための完全なサンプル構成です。構成では、nginx という名前のサービス、php という名前のサービス、および db という名前のサービスを定義しました。同時に、これら 3 つのサービスを接続するために、my-network という名前の外部ネットワークも定義しました。 nginx サービスは php サービスに依存しているため、depends_on キーワードを使用してこの依存関係を指定します。

5. 概要

上記は、Docker Compose、Nginx、MariaDB を使用して PHP アプリケーションを効率的に運用および保守するための方法と具体的なコード例です。 Docker Compose ツールを使用すると、複数のコンテナを含むアプリケーションを迅速に構築および管理できるため、デプロイの効率と運用およびメンテナンスの利便性が向上します。 Nginx は高性能 Web サーバーとして、リバース プロキシや負荷分散などの機能の実装に役立ちます。 MariaDB は、信頼性の高いデータベース管理システムとして、アプリケーションに高性能かつ高可用性のデータ ストレージ ソリューションを提供します。

この記事が、Docker Compose、Nginx、MariaDB の理解と使用に役立つことを願っています。PHP アプリケーションの運用と保守のプロセスでより良い結果と経験が得られることを願っています。

以上がDocker Compose、Nginx、MariaDB の組み合わせ: PHP アプリケーションを効率的に運用および保守しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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