ホームページ  >  記事  >  運用・保守  >  Web サイトの変更にリアルタイムで対応するための Nginx プロキシ キャッシュ更新構成

Web サイトの変更にリアルタイムで対応するための Nginx プロキシ キャッシュ更新構成

WBOY
WBOYオリジナル
2023-07-04 08:54:092003ブラウズ

Nginx プロキシ キャッシュ更新構成、Web サイト変更へのリアルタイム応答

要約: この記事では、Nginx プロキシ キャッシュ更新構成を使用して、Web サイトのコンテンツ変更時の更新への即時応答を実現し、Web サイトのパフォーマンスを向上させる方法を紹介します。そしてユーザーエクスペリエンス。同時に、読者がこの機能をよりよく理解し、適用できるように、いくつかの実用的なコード例を提供します。

  1. はじめに
    Nginx は、インターネット アプリケーションの展開で広く使用されている高性能 HTTP およびリバース プロキシ サーバーです。プロキシ モードでは、Nginx は Web サイトの静的コンテンツをキャッシュし、ソース サーバーの負荷を軽減し、Web サイトへのアクセスを高速化できます。ただし、Web サイトのコンテンツが変更された場合、Nginx のデフォルト構成ではキャッシュがすぐに更新されないため、ユーザーには古いページのコンテンツが表示されることになります。この問題を解決するために、いくつかのトリックと構成を通じて Nginx プロキシ キャッシュの即時更新を実現できます。
  2. 構成ファイルの変更
    まず、Web サイトのコンテンツが更新されたときにキャッシュをリアルタイムで更新できるように、Nginx 構成ファイルを変更する必要があります。これは、次の設定項目を通じて実現できます:
proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=my_cache:10m max_size=10g inactive=60m;
proxy_cache_key "$request_method|$host|$request_uri";
proxy_cache_valid 200 301 302 10m;
proxy_cache_use_stale error timeout updating http_500 http_502 http_503 http_504;

その中で、proxy_cache_path はキャッシュ ファイルのストレージ パスとサイズ制限を指定します; proxy_cache_key は、キャッシュ キー名により、リクエスト URL が変更されるたびにキャッシュを更新できるようになります。proxy_cache_valid は、HTTP 応答コード 200、301、および 302 のキャッシュ有効期間を指定するために使用されます。proxy_cache_use_stale はソースで使用されます サーバーエラーの場合に期限切れのキャッシュを使用できるようにします。

  1. キャッシュ更新ルール
    デフォルトでは、Nginx はキャッシュの有効期限が切れた後にのみ、ソースサーバーに積極的にアクセスして新しいコンテンツをリクエストします。そして、Web サイトのコンテンツが変更されたときにすぐにキャッシュを更新できるようにしたいと考えています。この目標を達成するには、次の構成項目を通じてキャッシュ更新ルールを設定できます。
if ( $request_method = POST ) {
    add_header X-Nginx-Cache "BYPASS";
    proxy_cache_bypass $http_cache_control;
    proxy_no_cache 1;
}

上記の構成では、POST リクエストをキャプチャし、X-Nginx-Cache## を追加します。応答ヘッダー #リクエストがキャッシュをバイパスする必要があることを識別するために使用されるフィールド。また、proxy_cache_bypass および proxy_no_cache ディレクティブにより、このリクエストはキャッシュされなくなります。

    スクリプトのスケジュールされた実行
  1. 定期的なキャッシュ更新を実装するために、スケジュールされたタスクを通じて Nginx キャッシュを更新するスクリプトを作成できます。具体的なスクリプトの内容は次のとおりです。
  2. #!/bin/bash
    
    curl -X PURGE http://localhost/page1
    curl -X PURGE http://localhost/page2
    curl -X PURGE http://localhost/page3

curl コマンドは、特定のページのキャッシュをクリアするために Nginx に PURGE リクエストを送信するために上記のスクリプトで使用されていることに注意してください。 。実際の状況に応じて、キャッシュを更新する必要があるページの URL をスクリプトに追加できます。次に、スケジュールされたタスク ツール (cron など) を使用してこのスクリプトを定期的に実行し、キャッシュのスケジュールされた更新を実現します。

    結論
  1. この記事では、Nginx プロキシ キャッシュ更新構成を使用して、Web サイトのコンテンツが変更されたときに即時応答を実現する方法を紹介します。この機能は、Nginx 構成ファイルを変更し、キャッシュ ストレージ パスと更新ルールを設定し、定期的に実行されるスクリプトを作成することで実現します。この機能を使用すると、Web サイトのパフォーマンスとユーザー エクスペリエンスが効果的に向上し、ユーザーのリクエストによるソース サーバーへの負荷が軽減されます。この記事の紹介とサンプルコードを通じて、読者が Nginx のプロキシ キャッシュ更新構成をよりよく理解し、適用できることを願っています。

以上がWeb サイトの変更にリアルタイムで対応するための Nginx プロキシ キャッシュ更新構成の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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