ホームページ  >  記事  >  バックエンド開発  >  Docker Compose、Nginx、MariaDB を使用した PHP アプリケーションの迅速なデプロイメント プロセス

Docker Compose、Nginx、MariaDB を使用した PHP アプリケーションの迅速なデプロイメント プロセス

WBOY
WBOYオリジナル
2023-10-12 15:12:111353ブラウズ

使用Docker Compose、Nginx和MariaDB实现PHP应用程序的快速部署流程

Docker Compose、Nginx、MariaDB を使用して、PHP アプリケーションの迅速なデプロイメント プロセスを実装する

要約:
この記事では、Docker Compose、Nginx の使用方法を紹介します。 MariaDB は、PHP アプリケーションを迅速にデプロイするためのプロセスを実装します。 Docker Compose を使用して、コンテナ化されたアプリケーション、Web サーバーとしての Nginx、データベースとしての MariaDB の構成を定義および管理します。これらのコンテナを構築して起動することで、PHP アプリケーションを迅速にデプロイして実行できます。

はじめに:
クラウド コンピューティングとコンテナ化テクノロジーの発展により、アプリケーションを迅速に展開することがますます簡単になってきています。 Docker Compose を使用すると、YAML 構成ファイルを作成することで、アプリケーションに必要なコンテナーを定義および管理できます。この記事では、Docker Compose を使用して、Nginx と MariaDB を含む PHP アプリケーションを定義およびデプロイする方法を説明します。

ステップ 1: Docker と Docker Compose をインストールする
まず、システムに Docker と Docker Compose がインストールされていることを確認します。公式 Web サイトからダウンロードし、指示に従ってインストールできます。

ステップ 2: プロジェクト ディレクトリを作成する
始める前に、新しいプロジェクト ディレクトリを作成しましょう。このディレクトリ内に、アプリケーション構成を定義する docker-compose.yml というファイルを作成します。

ステップ 3: Docker Compose 構成ファイルを作成する
プロジェクト ディレクトリに docker-compose.yml という名前のファイルを作成し、次のサンプル コードをテンプレートとして使用します。上の例では、web と db という 2 つのサービスを定義しました。 Web サービスは PHP アプリケーションが存在するサービスであり、Web コンテナーの構築には Dockerfile と呼ばれるファイルが使用されます。ローカル ポート 80 をコンテナのポート 80 にマップし、アプリケーション コードをコンテナの /var/www/html ディレクトリにマウントする必要があります。 db サービスは MariaDB データベース サービスで、最新の mariadb:latest イメージを使用し、データベースの root パスワードとデータベース名を設定します。

ステップ 4: Dockerfile を作成する

プロジェクト ディレクトリに Dockerfile という名前のファイルを作成し、次のサンプル コードをテンプレートとして使用します。

version: '3'
services:
  web:
    build:
      context: .
      dockerfile: Dockerfile
    ports:
      - "80:80"
    volumes:
      - ./app:/var/www/html
    depends_on:
      - db
  db:
    image: mariadb:latest
    environment:
      - MYSQL_ROOT_PASSWORD=123456
      - MYSQL_DATABASE=myapp
      - MYSQL_USER=myuser
      - MYSQL_PASSWORD=mypassword
    volumes:
      - ./data:/var/lib/mysql

上の例では、使用済み php を使用します。 :7.4-fpm をベースイメージとして使用し、いくつかの PHP 拡張機能と Nginx をインストールしました。また、nginx.conf ファイルをコンテナの /etc/nginx/sites-available/default ディレクトリにコピーし、作業ディレクトリを /var/www/html に設定します。

ステップ 5: Nginx 構成ファイルを作成する

プロジェクト ディレクトリに nginx.conf というファイルを作成し、次のサンプル コードをテンプレートとして使用します。

FROM php:7.4-fpm

RUN apt-get update && apt-get install -y 
    nginx 
    libmcrypt-dev 
    libjpeg-dev 
    libpng-dev 
    libfreetype6-dev 
    libxml2-dev 
    libzip-dev 
    zip 
    unzip

RUN docker-php-ext-install mysqli pdo pdo_mysql xml zip

COPY nginx.conf /etc/nginx/sites-available/default

WORKDIR /var/www/html

CMD service nginx start && php-fpm

上記の例では、ポート 80 でリッスンする単純な Nginx サーバーを定義しました。ルートディレクトリを/var/www/htmlとし、PHPファイルの処理方法を設定します。

ステップ 6: コンテナーをビルドして開始する

プロジェクト ディレクトリでターミナルを開き、次のコマンドを実行してコンテナーをビルドして開始します:

server {
    listen 80;
    server_name localhost;

    root /var/www/html;

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

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

このコマンドは次に従ってビルドされます。 Docker Compose 構成ファイルとアプリケーションを起動するコンテナー。ビルド プロセス中に、Docker は必要なイメージと依存関係を自動的にダウンロードしてインストールします。

ステップ 7: アプリケーションをテストする

ここで、Web ブラウザで http://localhost にアクセスして、PHP アプリケーションをテストできます。すべてが正常であれば、アプリケーションのようこそページが表示されます。


結論:

Docker Compose、Nginx、MariaDB を使用すると、PHP アプリケーションを迅速にデプロイして実行できます。コンテナ化されたアプリケーションの構成を定義および管理することで、アプリケーションのデプロイメント プロセスを簡素化し、高速化できます。この記事が、PHP アプリケーションの迅速な展開の実現に役立つことを願っています。

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

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