ホームページ バックエンド開発 PHPチュートリアル Web サービスのパフォーマンスを向上させるために Docker コンテナを使用して Nginx プロキシ サーバーを構成するにはどうすればよいですか?

Web サービスのパフォーマンスを向上させるために Docker コンテナを使用して Nginx プロキシ サーバーを構成するにはどうすればよいですか?

Sep 05, 2023 pm 06:15 PM
docker nginx 演技

Web サービスのパフォーマンスを向上させるために Docker コンテナを使用して Nginx プロキシ サーバーを構成するにはどうすればよいですか?

Web サービスのパフォーマンスを向上させるために、Docker コンテナを使用して Nginx プロキシ サーバーを構成するにはどうすればよいですか?

概要:
現代のインターネット アプリケーションでは、Web サーバーが重要な役割を果たしています。より優れたパフォーマンスとスケーラビリティを提供するために、プロキシ サーバーを使用して負荷分散し、静的リソースをキャッシュすることが一般的なソリューションになっています。この記事では、Docker コンテナを使用して Nginx プロキシ サーバーを構成する方法を紹介し、構成を最適化することで Web サービスのパフォーマンスを向上させる方法を示します。

ステップ 1: Docker をインストールして構成する
まず、システムに Docker をインストールする必要があります。 Docker は、ターミナルで次のコマンドを実行してインストールできます:

sudo apt-get update
sudo apt-get install -y docker.io
ログイン後にコピー

インストールが完了したら、次のコマンドを実行して Docker が正しくインストールされていることを確認できます:

docker --version
ログイン後にコピー

ステップ 2: Nginx プロキシ サーバー コンテナの作成
Nginx プロキシ サーバーを構成する前に、Nginx を実行するための Docker コンテナを作成する必要があります。

まず、Nginx 構成ファイルと SSL 証明書を保存する新しいフォルダーを作成します。

mkdir nginx-proxy
cd nginx-proxy
ログイン後にコピー

次に、nginx.conf という名前のファイルを作成し、次の構成を保存します。

worker_processes 1;

events {
    worker_connections 1024;
}

http {
    server {
        listen 80;
        
        location / {
            proxy_pass http://<backend_ip>:<backend_port>;
        }
    }
}
ログイン後にコピー

上記の設定では、<backend_ip><backend_port> を実際のバックエンド サーバーの IP アドレスとポートに置き換える必要があります。番号。

ステップ 3: Nginx プロキシ サーバー コンテナを構築して実行する
ターミナルで次のコマンドを実行して、Nginx プロキシ サーバー コンテナを構築して実行します:

sudo docker run -d -p 80:80 -v $(pwd)/nginx.conf:/etc/nginx/nginx.conf --name nginx-proxy nginx
ログイン後にコピー

上記のコマンドでは、 -dこのパラメーターは、コンテナーをデーモンとして実行することを示します。-p 80:80このパラメーターは、コンテナーのポート 80 をホストのポート 80 にマップします。-v $(pwd)/ nginx.conf: /etc/nginx/nginx.conf パラメータは、現在のディレクトリの nginx.conf ファイルを /etc/nginx/nginx.conf パスにマウントします。コンテナの名前、--name nginx-proxyパラメータはコンテナの名前を nginx-proxy として指定し、nginx は使用されるイメージの名前です。

上記のコマンドを実行すると、nginx-proxy という名前の Docker コンテナが作成および起動され、Nginx プロキシ サーバーを実行し、指定された構成ファイルに従ってプロキシ処理を実行します。

ステップ 4: Nginx プロキシ サーバーをテストする
Nginx プロキシ サーバーが適切に動作していることを確認するには、curl コマンドを使用するか、ブラウザで次のメソッドにアクセスしてテストします:

curl http://localhost
ログイン後にコピー

すべてが正常であれば、バックエンドサーバーの応答結果を返します。

ステップ 5: Nginx プロキシ サーバーのパフォーマンスを最適化する
Nginx プロキシ サーバーのパフォーマンスをさらに向上させるために、いくつかの最適化操作を実行できます。一般的な最適化方法の一部を次に示します。

  1. キャッシュを有効にする: 静的リソースをキャッシュするには、Nginx 構成ファイルに適切なキャッシュ ディレクティブを追加します。たとえば、次のディレクティブを追加して CSS ファイルと JS ファイルをキャッシュできます:
location ~* .(css|js)$ {
    expires 7d;
}
ログイン後にコピー
  1. Gzip 圧縮を有効にする: 次のディレクティブを追加して Gzip 圧縮を有効にし、転送されるデータ量を削減します。
  2. ##
    gzip on;
    gzip_min_length 1000;
    gzip_types text/plain text/html text/css application/javascript;
    ログイン後にコピー
    動作プロセス数の調整: システム構成や負荷状況に応じて、Nginx の動作プロセス数を適切に調整して、パフォーマンスとリソース消費のバランスをとります。
  1. Use HTTP2 プロトコル: バックエンド サーバーが HTTP2 プロトコルをサポートしている場合、次のディレクティブを追加して HTTP2 プロトコルを有効にできます:
  2. listen 443 ssl http2;
    ログイン後にコピー
    概要:

    Docker を使用した Nginx プロキシの構成コンテナサーバーを使用すると、高パフォーマンスの Web サービスを簡単に構築できます。構成を最適化することで、サービスのパフォーマンスとスケーラビリティをさらに向上させることができます。この記事が、Docker と Nginx を使用して Web サービスを構築および最適化する方法をより深く理解するのに役立つことを願っています。

    以上がWeb サービスのパフォーマンスを向上させるために Docker コンテナを使用して Nginx プロキシ サーバーを構成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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

ホットな記事タグ

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

pycharmでプロジェクトをパッケージ化する方法 pycharmでプロジェクトをパッケージ化する方法 Apr 25, 2024 am 03:54 AM

pycharmでプロジェクトをパッケージ化する方法

PHPマイクロサービスコンテナ化のアジャイル開発と運用 PHPマイクロサービスコンテナ化のアジャイル開発と運用 May 08, 2024 pm 02:21 PM

PHPマイクロサービスコンテナ化のアジャイル開発と運用

PIノードティーチング:PIノードとは何ですか? PIノードをインストールしてセットアップする方法は? PIノードティーチング:PIノードとは何ですか? PIノードをインストールしてセットアップする方法は? Mar 05, 2025 pm 05:57 PM

PIノードティーチング:PIノードとは何ですか? PIノードをインストールしてセットアップする方法は?

DeepSeekをインストールする方法 DeepSeekをインストールする方法 Feb 19, 2025 pm 05:48 PM

DeepSeekをインストールする方法

Docker が LLama3 オープンソース大規模モデルのローカル展開を 3 分で完了 Docker が LLama3 オープンソース大規模モデルのローカル展開を 3 分で完了 Apr 26, 2024 am 10:19 AM

Docker が LLama3 オープンソース大規模モデルのローカル展開を 3 分で完了

PHP 分散システムのアーキテクチャと実践 PHP 分散システムのアーキテクチャと実践 May 04, 2024 am 10:33 AM

PHP 分散システムのアーキテクチャと実践

PHP CI/CD を使用して迅速に反復するにはどうすればよいですか? PHP CI/CD を使用して迅速に反復するにはどうすればよいですか? May 08, 2024 pm 10:15 PM

PHP CI/CD を使用して迅速に反復するにはどうすればよいですか?

Dockerコンテナを使用したJavaEEアプリケーションのデプロイ Dockerコンテナを使用したJavaEEアプリケーションのデプロイ Jun 05, 2024 pm 08:29 PM

Dockerコンテナを使用したJavaEEアプリケーションのデプロイ

See all articles