ホームページ  >  記事  >  バックエンド開発  >  Docker Compose、Nginx、MariaDB のベスト プラクティス: PHP アプリケーションをデプロイするためのプロセス統合

Docker Compose、Nginx、MariaDB のベスト プラクティス: PHP アプリケーションをデプロイするためのプロセス統合

王林
王林オリジナル
2023-10-12 14:03:151062ブラウズ

Docker Compose、Nginx和MariaDB的最佳实践:部署PHP应用程序的流程整合

Docker Compose、Nginx、MariaDB のベスト プラクティス: PHP アプリケーションをデプロイするためのプロセス統合

はじめに:
クラウド コンピューティングとコンテナ化テクノロジーの進歩により、急速に発展, Docker は、アプリケーションの開発とデプロイメントを最新化するための重要な方法となっています。多くの Docker ツールの中でも、Docker Compose は、コンテナー サービスをオーケストレーションするためのツールとして、マルチコンテナー アプリケーションのデプロイと管理に広く使用されています。 Nginx と MariaDB は、一般的に使用されるオープン ソース ソフトウェアとして、多くのアプリケーション シナリオでも重要な役割を果たします。

この記事では、Docker Compose を通じて Nginx と MariaDB を統合して PHP アプリケーションをデプロイする方法を紹介します。準備、Docker Composeファイルの作成、Nginxの設定の記述、PHPアプリケーションの記述、コンテナの起動、アプリケーションへのアクセスの手順で説明します。

1. 準備
開始する前に、Docker と Docker Compose をローカル環境にインストールする必要があります。システムに最新バージョンの Docker と Docker Compose が正しくインストールされ、適切に実行されていることを確認してください。

2. Docker Compose ファイルを作成する
プロジェクトのルート ディレクトリに docker-compose.yml という名前のファイルを作成します。このファイルは、アプリケーションの統合に必要なすべてのコンテナ サービスを定義します。

version: '3'
services:
  web:
    build: .
    ports:
      - 80:80
    volumes:
      - ./app:/var/www/html
    depends_on:
      - db
  db:
    image: mariadb:latest
    environment:
      - MYSQL_ROOT_PASSWORD=secret
    volumes:
      - ./db:/var/lib/mysql

上記の Docker Compose ファイルでは、web と db という 2 つのサービスが定義されています。 Web を提供すると、現在のディレクトリにコードが構築され、ローカル ポート 80 がコンテナのポート 80 にマップされます。サービス データベースは最新バージョンの MariaDB イメージを使用し、データベースの root パスワードを定義するために環境変数 MYSQL_ROOT_PASSWORD が設定されます。

3. Nginx 設定の書き込み
プロジェクトのルート ディレクトリに nginx.conf という名前のファイルを作成し、Nginx 設定の内容を書き込みます。以下は、基本的な Nginx 構成の例です。

server {
    listen 80;
    server_name localhost;

    root /var/www/html/public;
    index index.php;

    location / {
        try_files $uri $uri/ /index.php?$args;
    }

    location ~ .php$ {
        fastcgi_pass 127.0.0.1:9000;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
}

上記の Nginx 構成ファイルでは、リスニング ポートを 80 として定義し、サーバー名を localhost として定義しました。ルート ディレクトリは /var/www/html/public として指定され、index.php がデフォルトのインデックス ファイルとして設定されます。同時に、静的ファイルの処理と PHP ファイルのリクエストの処理に使用される 2 つのロケーション ブロックを定義しました。

4. PHP アプリケーションの作成
PHP アプリケーション コードをアプリ ディレクトリに書き込みます。ここでは例として単純な Hello World プログラムを示します。index.php という名前の新しいファイルを作成し、次のコードを追加します:

<?php
echo "Hello World!";

5. コンテナを起動します
ターミナルで、コンテナのルート ディレクトリを入力します。プロジェクトを作成し、次のコマンドを実行してコンテナを起動します。

docker-compose up -d

このコマンドは、Docker Compose ファイルの定義に従ってコンテナを構築し、起動します。コンテナーが正常に開始されると、次のようなログ情報が表示されます:

Creating network "docker_default" with the default driver
Creating docker_web_1 ... done
Creating docker_db_1  ... done

6. アプリケーションにアクセスします
ブラウザーで http://localhost にアクセスします。出力「Hello World!」は、PHP アプリケーションが正常にデプロイされたことを意味します。

7. 概要
この記事の導入部を通じて、Docker Compose、Nginx、MariaDB を介して PHP アプリケーションを統合およびデプロイする方法を学びました。この統合により、複雑なコンテナ サービスの構築と管理が容易になり、アプリケーション コンポーネントの拡張と調整が容易になります。同時に、この展開方法は移植性にも優れているため、アプリケーションをさまざまな環境に簡単に移行して展開できます。

この記事では基本的な例のみを提供しており、実際のアプリケーションの展開ではさらに多くの構成や調整が必要になる可能性があることに注意してください。この例を通じて、読者が Docker Compose、Nginx、MariaDB の統合についての基本を理解し、実際のアプリケーションでさらに柔軟な調整を行うことができることを願っています。

以上がDocker Compose、Nginx、MariaDB のベスト プラクティス: PHP アプリケーションをデプロイするためのプロセス統合の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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