ホームページ  >  記事  >  運用・保守  >  Nginx が HTTP リクエストのキャッシュ制御構成を実装する方法

Nginx が HTTP リクエストのキャッシュ制御構成を実装する方法

WBOY
WBOYオリジナル
2023-11-08 09:35:231477ブラウズ

Nginx が HTTP リクエストのキャッシュ制御構成を実装する方法

Nginx が HTTP リクエストのキャッシュ制御構成を実装する方法

高性能 Web サーバーおよびリバース プロキシ サーバーとして、Nginx は強力なキャッシュ管理および制御機能、キャッシュ制御を備えています。の HTTP リクエストは構成を通じて実現できます。この記事では、Nginx が HTTP リクエストのキャッシュ制御構成を実装する方法を詳しく紹介し、具体的なコード例を示します。

1. Nginx キャッシュ構成の概要
Nginx キャッシュ構成は主に proxy_cache モジュールを通じて実装され、このモジュールはキャッシュの動作を効果的に制御できる豊富な命令とパラメーターを提供します。キャッシュを構成する前に、Nginx 構成ファイルに proxy_cache モジュールをロードする必要があります。具体的な命令は次のとおりです:

load_module modules/ngx_http_proxy_module.so;

この命令は、構成ファイルで関連するキャッシュ制御を使用できるように、Nginx proxy_cache モジュールをロードします。 。 命令。

2. キャッシュ制御命令の詳細説明

  1. proxy_cache_path

proxy_cache_path 命令は、キャッシュ パスおよび関連する構成パラメータ (たとえば、次のような) を定義するために使用されます。キャッシュストレージパス、キャッシュサイズ、キャッシュ戦略など。具体的な使用法は次のとおりです。

proxy_cache_path /data/nginx/cache levels=1:2 keys_zone=my_cache:10m max_size=10g
               inactive=60m use_temp_path=off;

この例では、my_cache という名前のキャッシュ領域を定義します。キャッシュ パスは /data/nginx/cache、最大キャッシュ サイズは 10GB、キャッシュの有効期限は60分。 。実際のニーズに応じて設定パラメータを調整する必要があることに注意してください。

  1. proxy_cache

proxy_cache ディレクティブは、キャッシュを有効にし、使用されるキャッシュ領域を設定するために使用されます。これは、location ブロックで構成できます。例:

location / {
    proxy_cache my_cache;
    proxy_cache_valid 200 304 5m;
    proxy_cache_valid 301 302 1h;
    proxy_cache_key $host$uri$is_args$args;
    proxy_cache_use_stale error timeout updating http_500 http_502 http_503 http_504;
    proxy_cache_background_update on;
    proxy_cache_lock on;
    proxy_cache_lock_timeout 5s;
    proxy_cache_revalidate on;
    proxy_cache_min_uses 3;
    proxy_cache_bypass $http_x_token;
    proxy_cache_methods GET HEAD;
}

上記の構成では、my_cache という名前のキャッシュ領域を有効にし、さまざまな応答ステータス コードに応じてキャッシュ有効時間、キャッシュ キー、キャッシュ更新戦略、その他のパラメーターを設定しました。これらのパラメータは、特定のキャッシュ要件に応じて柔軟に構成できます。

  1. proxy_ignore_headers

proxy_ignore_headers ディレクティブは、Nginx がキャッシュ時に無視する必要がある HTTP 応答ヘッダーを指定するために使用されます。たとえば、次のようになります。たとえば、キャッシュの一貫性と有効性を確保するために、キャッシュ時に Cache-Control および Set-Cookie 応答ヘッダーを無視することを Nginx に要求します。

proxy_cache_lock
  1. proxy_cache_lock 命令は、キャッシュされたコンテンツへの同時アクセスを制御するために使用されます。これにより、キャッシュの故障、雪崩、その他の問題を効果的に回避できます。次に例を示します。
    proxy_ignore_headers Cache-Control Set-Cookie;
この例では、キャッシュ ロックを有効にし、5 秒のタイムアウトを設定します。その後、リクエストは引き続きバックエンド サーバーにヒットし、キャッシュの内容を更新します。

3. コード例

上記のキャッシュ制御手順に基づいて、HTTP リクエストのキャッシュ制御を実装するための完全な Nginx 構成例を作成できます。以下は簡単な Nginx 構成例です:

proxy_cache_lock on;
proxy_cache_lock_timeout 5s;

上の例では、最初に ngx_http_proxy_module モジュールをロードし、次に my_cache という名前のキャッシュ領域を定義し、サーバー ブロック内のプロキシの場所を構成し、キャッシュと対応するキャッシュ制御ディレクティブが有効になっています。ユーザーが example.com にアクセスすると、Nginx は設定されたキャッシュ ルールに基づいてキャッシュ管理と制御を実行します。

4. 概要

上記の紹介と例を通じて、Nginx が HTTP リクエストのキャッシュ制御設定を実装する方法と、proxy_cache によって提供される関連命令の詳細な説明とデモンストレーションを詳しく理解しました。モジュール。合理的なキャッシュ構成により、Web サイトのアクセス速度とパフォーマンスが大幅に向上し、バックエンド サーバーの負荷が軽減され、より良いユーザー エクスペリエンスが実現されます。したがって、実際のWebアプリケーション開発においては、Nginxのキャッシュ制御機能を適切に利用することが非常に重要です。

以上がNginx が HTTP リクエストのキャッシュ制御構成を実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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