ホームページ > 運用・保守 > Nginx > Nginx を使用して HTTP リクエストのリバース プロキシ キャッシュを行う方法

Nginx を使用して HTTP リクエストのリバース プロキシ キャッシュを行う方法

王林
リリース: 2023-08-02 22:58:45
オリジナル
1031 人が閲覧しました

Nginx を使用して HTTP リクエストのリバース プロキシ キャッシュを行う方法

Nginx は、高性能のオープン ソース Web サーバー ソフトウェアです。静的リソース リクエストを処理する Web サーバーとして機能することに加えて、Nginx は次のことも実行できます。 HTTP リクエスト、リバース プロキシ。リバース プロキシは、クライアント要求を複数のバックエンド サーバーに転送して処理するのに役立ち、キャッシュを通じて応答速度を向上させることができます。この記事では、Nginxでリバースプロキシキャッシュを設定する方法を紹介します。

  1. Nginx のインストール
    まず、Nginx サーバーをインストールする必要があります。 Linux 環境では、パッケージ マネージャーを通じてインストールできます。 Debian/Ubuntu を例として、次のコマンドを実行します。

    sudo apt update
    sudo apt install nginx
    ログイン後にコピー
  2. リバース プロキシ キャッシュの構成
    インストールが完了したら、Nginx 構成ファイルを編集してリバース プロキシ キャッシュを構成する必要があります。 。デフォルトの構成ファイルは /etc/nginx/nginx.conf にあります。テキスト エディタでファイルを開き、http{} ブロックを見つけます。

次の構成を http{} ブロックに追加します:

proxy_cache_path /path/to/cache levels=1:2 keys_zone=my_cache:10m max_size=10g inactive=60m;
ログイン後にコピー

ここで、/path/to/cache はキャッシュです。実際の状況に応じて変更できます。 levels=1:2キャッシュ ディレクトリのレベルを示します。 keys_zone=my_cache:10m は、キャッシュ メタデータを保存するためにキャッシュに 10M のメモリを割り当てることを意味します。 max_size=10gキャッシュの最大サイズが 10G であることを示します。 inactive=60m は、キャッシュ ファイルが 60 分間アクセスされなかった場合、期限切れとみなされることを意味します。

次に、server{} ブロック内に次の設定を追加します。

proxy_cache my_cache;
proxy_cache_valid 200 302 1h;
proxy_cache_valid 301 404 10m;
proxy_cache_use_stale error timeout updating http_500 http_503;
ログイン後にコピー

このうち、proxy_cache my_cache は、 という名前を有効にすることを意味します。 my_cache キャッシュ。 proxy_cache_valid は、さまざまなステータス コードのキャッシュ有効期間を設定するために使用されます。たとえば、ステータス コード 200 および 302 のリクエスト キャッシュ有効期間は 1 時間です。 proxy_cache_use_stale バックエンド サーバーでエラーまたはタイムアウトが発生した場合に、期限切れのキャッシュを応答として使用するかどうかを指定するために使用されます。

  1. リバース プロキシの構成
    キャッシュの構成が完了したら、リバース プロキシを構成する必要があります。 server{} ブロック内に、次の設定を追加します。

    location / {
     proxy_pass http://backend_server;
     proxy_set_header Host $host;
     proxy_cache_bypass $http_cache_control;
     proxy_cache_key $uri$is_args$args;
    }
    ログイン後にコピー

    ここで、proxy_pass はバックエンド サーバーのアドレスを指定します。 proxy_set_header は、プロキシ リクエストのヘッダー情報を設定するために使用されます。ここでは、リクエストの host ヘッダーは現在のホストに設定されます。 proxy_cache_bypass は、キャッシュを使用しないリクエストを指定するために使用されます。これは、リクエスト ヘッダーの cache-control に基づいて決定されます。 proxy_cache_key キャッシュ キーの生成に使用されます。ここでは、要求された URI とパラメーターの組み合わせを示します。

  2. Nginx を再起動してテスト
    上記の設定が完了したら、設定ファイルを保存して終了します。次に、次のコマンドを使用して Nginx サービスを再起動します。

    sudo systemctl restart nginx
    ログイン後にコピー

    次に、ブラウザまたはコマンド ライン ツールを介してリクエストを送信し、Nginx キャッシュの動作を観察します。

まとめ
上記の手順により、Nginx のリバース プロキシ キャッシュ機能を正常に設定できました。キャッシュを利用することでリクエストの応答速度が大幅に向上し、バックエンドサーバーの負荷を軽減できます。同時に、Nginx は、実際のニーズに応じて調整および最適化できる柔軟な構成オプションも提供します。

この記事が、Nginx のリバース プロキシ キャッシュ機能の理解と使用に役立つことを願っています。ご質問やご不明な点がございましたら、コメント欄にメッセージを残してください。できる限りお答えいたします。

以上がNginx を使用して HTTP リクエストのリバース プロキシ キャッシュを行う方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート