ホームページ >バックエンド開発 >PHPチュートリアル >Docker Compose、Nginx、MariaDB を使用した PHP アプリケーションの迅速な移行
Docker Compose、Nginx、MariaDB による PHP アプリケーションの迅速な移行
クラウド コンピューティングの継続的な開発と人気により、デプロイと管理が必要なアプリケーションがますます増えています。コンテナ化を使用します。 Docker は現在最も人気のあるコンテナ化プラットフォームの 1 つであり、高速かつ軽量のアプリケーションのパッケージ化および配信ソリューションを提供します。
この記事では、Docker Compose、Nginx、MariaDB の 3 つのツールを使用して、PHP アプリケーションの迅速な移行を実現する方法を紹介します。
1. 環境の準備
始める前に、Docker と Docker Compose をインストールする必要があります。 Docker はオープンソースのコンテナ化プラットフォームであり、Docker Compose は複数の Docker コンテナを定義して実行するためのツールです。
Docker のインストール方法については、公式ドキュメント (https://docs.docker.com/get-docker/) を参照してください。 Docker Compose のインストールは、次のコマンドで完了できます。
$ sudo pip install docker-compose
2. Docker Compose ファイルの作成
Docker Compose は、YAML 形式の構成ファイルを使用して複数のコンテナーを定義および管理します。 docker-compose.yml というファイルを作成し、その中にアプリケーションのコンテナを定義する必要があります。
以下は簡単な例です:
version: '3' services: web: build: context: . dockerfile: Dockerfile restart: always ports: - 80:80 volumes: - ./web:/var/www/html depends_on: - db db: image: mariadb:latest restart: always environment: MYSQL_DATABASE: myapp MYSQL_USER: myuser MYSQL_PASSWORD: mypassword MYSQL_ROOT_PASSWORD: myrootpassword volumes: - ./db:/var/lib/mysql
この例では、2 つのサービス (web と db) を定義します。 Web サービスは PHP アプリケーションの実行に使用され、db サービスは MariaDB データベースの実行に使用されます。
Web サービス構成項目の説明:
db サービス構成項目の説明:
3. Dockerfile の作成
Dockerfile は、Docker イメージを構築するために使用されるファイルです。これは、イメージ構築プロセスを記述する一連の命令を定義します。
以下は簡単な Dockerfile の例です:
FROM php:7.4-apache RUN apt-get update && apt-get install -y libpq-dev && docker-php-ext-install pdo pdo_mysql pdo_pgsql && a2enmod rewrite WORKDIR /var/www/html COPY . . RUN chown -R www-data:www-data /var/www/html
この Dockerfile は公式 php:7.4-apache イメージに基づいており、いくつかの依存関係と拡張機能をインストールし、作業ディレクトリを /var/ に設定します。 www/html。最後に、COPY 命令を使用して、現在のディレクトリ内のすべてのファイルをコンテナの /var/www/html ディレクトリにコピーし、/var/www/html ディレクトリの権限を設定します。
4. コンテナを起動します
上記の準備が完了したら、次のコマンドを使用してコンテナを起動できます:
$ docker-compose up -d
このコマンドは、定義した 2 つのコンテナ (Web コンテナとコンテナ コンテナ) を起動します。 db) を実行し、バックグラウンドで実行します。
5. Nginx リバース プロキシの構成
デフォルトでは、Docker Compose はサービスごとにデフォルト ネットワークを作成します。コンテナーの名前をドメイン名として使用して、コンテナー内のサービスにアクセスできます。
ただし、アプリケーションをより適切に制御および管理するために、Nginx をリバース プロキシとして使用して、リクエストを対応するコンテナに転送できます。
まず、Nginx をインストールして構成する必要があります。次のコマンドでインストールできます:
$ sudo apt-get install nginx
次に、次の内容を Nginx 構成ファイルに追加します:
server { listen 80; server_name your-domain.com; location / { proxy_pass http://web:80; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } }
この構成ファイルでは、リクエストを Web サーバーに転送します。 proxy_pass ディレクティブ。コンテナのポート 80 にプロキシ関連のヘッダー情報を設定します。
最後に、Nginx サービスを再起動して設定を有効にします:
$ sudo service nginx restart
6. 結論
Docker Compose、Nginx、MariaDB を使用することで、PHP を迅速かつ簡単に移行およびデプロイできます。アプリケーション。 Docker は、アプリケーションの実行環境をホスト環境から分離する、信頼性が高く反復可能な環境を提供します。 Nginxのリバースプロキシ機能を利用すると、トラフィックの転送や負荷分散を簡単に行うことができます。 MariaDB は、高性能で信頼性の高いリレーショナル データベースを提供します。
この記事が、PHP アプリケーションの迅速な移行に関するヘルプとガイダンスを提供できれば幸いです。ご質問やご不明な点がございましたら、お気軽にお問い合わせください。 Docker を使用してアプリケーションの構築と管理を楽しんでください。
以上がDocker Compose、Nginx、MariaDB を使用した PHP アプリケーションの迅速な移行の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。