ホームページ >バックエンド開発 >PHPチュートリアル >Docker Compose と Nginx を使用した PHP アプリケーションの可用性の高いデプロイメント

Docker Compose と Nginx を使用した PHP アプリケーションの可用性の高いデプロイメント

WBOY
WBOYオリジナル
2023-10-12 11:39:26801ブラウズ

通过Docker Compose和Nginx实现PHP应用程序的高可用部署

Docker Compose と Nginx による PHP アプリケーションの高可用性デプロイメント

最新の Web アプリケーション開発において、高可用性は非常に重要な要素です。 Docker Compose と Nginx を使用することで、PHP アプリケーションの高可用性デプロイメントを実現し、障害が発生した場合でもアプリケーションを確実に利用できるようにすることができます。

Docker は、アプリケーションとその依存関係を自己完結型コンテナにパッケージ化する、人気のあるコンテナ化プラットフォームです。 Docker Compose は、複数のコンテナ アプリケーションを定義して実行する簡単な方法を提供します。

Nginx は、高性能 Web サーバーおよびリバース プロキシ サーバーです。負荷分散のために受信トラフィックを複数のバックエンド サーバーに分散できます。

以下は、Docker Compose と Nginx を使用して PHP アプリケーションの高可用性デプロイメントを実現する例です。

まず、docker-compose.yml ファイルを作成して、アプリケーションとNginxコンテナ。このファイルでは、複数のサービスを定義でき、各サービスはコンテナーに対応します。

version: '3'
services:
  app1:
    build:
      context: .
      dockerfile: Dockerfile
    restart: always
  app2:
    build:
      context: .
      dockerfile: Dockerfile
    restart: always
  nginx:
    image: nginx
    ports:
      - "80:80"
    volumes:
      - ./nginx.conf:/etc/nginx/nginx.conf
    restart: always

この例では、2 つのアプリケーション コンテナー (app1 と app2) と 1 つの Nginx コンテナー (nginx) を同時に作成しました。 app1 と app2 は、同じアプリケーションにすることも、冗長性と高可用性を実現するために異なるアプリケーションにすることもできます。

次に、nginx.conf 構成ファイルを作成し、Nginx コンテナにマウントする必要があります。この構成ファイルは、Nginx をリバース プロキシ サーバーとして使用し、受信トラフィックを 2 つのアプリケーション コンテナー間で分散します。

http {
  upstream backend {
    server app1:8080;
    server app2:8080;
  }

  server {
    listen 80;

    location / {
      proxy_pass http://backend;
      proxy_set_header Host $host;
      proxy_set_header X-Real-IP $remote_addr;
    }
  }
}

この例では、2 つのアプリケーション コンテナのアドレスとポートを Nginx のアップストリーム ブロックのサーバーとして構成します。次に、メイン サーバー ブロックで、トラフィックをバックエンドにプロキシします。

最後に、アプリケーション コンテナを構築するために Dockerfile を作成する必要があります。この Dockerfile は、特定のアプリケーションに合わせてカスタマイズできます。

FROM php:7.4.15-fpm

WORKDIR /var/www/html

COPY . .

RUN chmod -R 755 storage

CMD ["php-fpm"]

この例では、公式の PHP イメージを使用し、作業ディレクトリを /var/www/html に設定します。次に、アプリケーションのコードとファイルをコンテナーにコピーし、適切な権限を設定します。最後に、php-fpm コマンドを使用して PHP-FPM サーバーを起動します。

上記の手順を完了したら、次のコマンドを使用して高可用性 PHP アプリケーションを起動できます:

docker-compose up -d

このコマンドはすべてのコンテナを起動し、バックグラウンドに置きます。

上記の手順により、Docker Compose と Nginx を使用した PHP アプリケーションの高可用性デプロイメントを正常に実装できました。これで、アプリケーションは複数のコンテナーで実行され、Nginx を通じて負荷分散されるようになります。

上記は単なる単純な例であり、特定のニーズに応じてカスタマイズできます。 Docker Compose と Nginx を使用すると、PHP アプリケーションの高可用性デプロイメントを簡単に実現し、障害が発生した場合でもアプリケーションを確実に利用できるようにすることができます。

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

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