ホームページ >バックエンド開発 >PHPチュートリアル >Docker で Nginx プロキシ サーバーを使用して Web サービスの水平拡張を実現するにはどうすればよいですか?
Docker で Nginx プロキシ サーバーを使用して Web サービスの水平拡張を実現するにはどうすればよいですか?
はじめに:
今日のインターネットの開発では、高可用性と高効率がすべての Web サービスの焦点となっています。信頼性の高いサービスを提供し、水平方向のスケーラビリティを実現するために、通常はプロキシ サーバーを使用してリクエストの負荷分散を行います。 Docker は軽量でポータブルなコンテナ テクノロジとして、プロキシ サーバーを実装する際の展開プロセスを簡素化できます。この記事では、Docker で Nginx プロキシ サーバーを使用して Web サービスの水平拡張を実現する方法を紹介します。
パート 1: 理論的な概要
パート 2: 実践的な演習
Docker で Nginx プロキシ サーバーを使用して Web サービスの水平拡張を実現する手順は次のとおりです:
ステップ 1: インストールDocker と Docker Compose
まず、ホストに Docker と Docker Compose をインストールする必要があります。具体的なインストール方法については公式ドキュメントを参照してください。
ステップ 2: バックエンド サービスを作成する
この例では、2 つの単純なバックエンド サービスを使用して実際のシナリオをシミュレートします。以下に示すように、バックエンド サービスのコードを保存する 2 つのフォルダーを作成し、単純な Python サービス スクリプトを作成します。
// backend_service_1.py
from flask import Flask
def hello_world():
return 'Hello from Backend Service 1'if
name == '__main__ ':
app.run(debug=True, host='0.0.0.0')// backend_service_2.py
from Flask import Flask
def hello_world( ):
return 'Hello from Backend Service 2'if
name == '__main__':
app.run(debug=True, host='0.0.0.0')ステップ 3: Docker コンテナを作成する
Docker コンテナを作成する前に、次のことを行う必要があります。 Dockerfile を作成してコンテナー イメージを構築します。バックエンド サービス コードが保存されているフォルダーに「Dockerfile」という名前のファイルを作成し、次の内容を追加します:
を繰り返します。上記の手順に従って、バックエンド サービス 2 用の Docker コンテナを作成します。 Dockerfile の CMD コマンドを次のように変更するだけです: CMD [ "python", "./backend_service_2.py" ]ステップ 4: Nginx プロキシ サーバー コンテナーを作成する
ホスト上「docker-compose.yml」という名前のファイルを作成し、次の内容を追加します:
services:
nginx:
image: nginx:stable-alpine ports: - 80:80 volumes: - ./nginx.conf:/etc/nginx/nginx.conf depends_on: - backend_service_1 - backend_service_2backend_service_1:
build: context: ./backend_service_1 dockerfile: Dockerfilebackend_service_2:
build: context: ./backend_service_2 dockerfile: Dockerfile次に、同じディレクトリに「nginx.conf」という名前のファイルを作成し、次の内容を追加します: worker_processes 1; events {
worker_connections 1024;}http {
upstream backend { server backend_service_1:5000; server backend_service_2:5000; } server { listen 80; location / { proxy_pass http://backend; } }}ステップ 5: コンテナーを開始します。
ターミナルを開いて、次のディレクトリに移動します。上記のファイルを作成し、次のコマンドを実行します:
以上がDocker で Nginx プロキシ サーバーを使用して Web サービスの水平拡張を実現するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。