検索
ホームページ運用・保守NginxNginx リバース プロキシ キャッシュの更新設定と Web サイトの静的リソースをリアルタイムで更新します

Nginx リバース プロキシ キャッシュの更新構成、Web サイトの静的リソースのリアルタイム更新

はじめに:
Web 開発では、静的リソースは Web サイトの不可欠な部分です。ただし、頻繁に更新される静的リソースでは、アクセス中に古いバージョンが表示されたり、読み込みが遅くなったりする可能性があります。この問題を解決する効果的な方法は、Nginx のリバース プロキシ キャッシュ機能を使用し、Web サイトの静的リソースをリアルタイムで更新するように設定することです。この記事では、Nginx の設定を通じてこの機能を実現する方法を紹介します。

  1. リバース プロキシ キャッシュを有効にする:
    まず、Nginx 構成でリバース プロキシ キャッシュを有効にする必要があります。 Nginx 構成ファイル (通常は nginx.conf) を見つけて開き、http セクションを見つけて次の構成を追加します:

    http {
      proxy_cache_path /path/to/cache/directory levels=1:2 keys_zone=cache_zone:10m max_size=10g inactive=60m;
      proxy_temp_path /path/to/temporary/directory;
      proxy_cache_key "$scheme$request_method$host$request_uri";
      proxy_ignore_headers "Cache-Control" "Expires";
      proxy_cache_valid any 10m;
      proxy_cache_use_stale error timeout updating http_500 http_502 http_503 http_504;
      
      server {
     ...
     location / {
       proxy_cache cache_zone;
       proxy_pass http://backend-server;
     }
     ...
      }
    }

    説明:

  2. proxy_cache_path##注※ リバースプロキシのキャッシュパスと関連する設定を設定します。 levels はディレクトリ レベル、keys_zone はキャッシュ領域の名前とサイズ、max_size はキャッシュの最大サイズを設定します、inactive キャッシュのタイムアウトを指定します。
  3. proxy_temp_path: 一時ディレクトリのパスを設定します。
  4. proxy_cache_key: キャッシュ キーの生成に使用される変数。$scheme はリクエスト プロトコルを表し、$request_method はリクエスト メソッドを表します。$host はリクエストのホスト名を表します。$request_uri はリクエストのホスト名を表します。リクエストのURI。
  5. proxy_ignore_headers: 無視する必要がある応答ヘッダーを指定します。
  6. proxy_cache_valid: キャッシュの有効時間を設定します。
  7. proxy_cache_use_stale: キャッシュの更新時に古いキャッシュの使用が許可される状況を定義します。
  8. 静的リソースのリアルタイム更新:
  9. Web サイト上の静的リソースのリアルタイム更新を実現するには、バックグラウンド プログラムまたはスクリプトに追加のロジックを追加して、更新後にキャッシュを更新するリクエストを発行する必要があります。静的リソースの各更新。以下は簡単な例です:
バックグラウンド プログラムまたはスクリプトでは、静的リソースが更新されたときに、HTTP リクエストを発行してキャッシュを更新します:

import requests

def refresh_cache():
  url = "http://your-nginx-server/purge-url"
  headers = {"Host": "your-hostname"}
  response = requests.get(url, headers=headers)
  
  if response.status_code == 200:
    print("Cache refreshed successfully!")
  else:
    print("Failed to refresh cache.")

Nginx 構成内ファイル、アドレス ルーティングとキャッシュ リフレッシュの構成:

location ~ /purge-url {
  internal;
  proxy_cache_purge cache_zone "$scheme$request_method$host$request_uri$is_args$args";
}

説明:

  • location: キャッシュ リフレッシュ リクエストを処理するためのルートを構成します。
  • internal: ルートは内部リクエストによってのみアクセスでき、外部リクエストによってはアクセスできないことを示します。
  • proxy_cache_purge: リフレッシュするキャッシュ領域と関連パラメータを設定します。
上記の設定で、

X-Purge-Cache: 1http://your-nginx-server/purge-url で GET リクエストを発行する場合、Nginx は、要求された URI に従って、対応するキャッシュを更新します。

    検証:
  1. 構成が正しいことを検証するには、ブラウザ、Postman、または同様のツールを使用して、
    X-Purge-Cache: 1## で GET を発行します。 # 聞く。キャッシュが正常に更新された場合、対応する静的リソースに再度アクセスすると、バックエンド サーバーから最新バージョンが取得され、ユーザーに最新の静的リソースが表示されるようにキャッシュが更新されます。
  2. 結論:
Nginx のリバース プロキシ キャッシュ構成と静的リソースのリアルタイム更新により、Web サイトのパフォーマンスとアクセス速度が向上し、ユーザーが最新の静的リソースを確実に取得できるようになります。リアルタイムリソースのリソース。これは、頻繁に更新される Web サイトにとって特に重要であり、バックエンド サーバーの負荷を軽減し、Web サイトの安定性と信頼性を向上させることもできます。この紹介がお役に立てば幸いです。

以上がNginx リバース プロキシ キャッシュの更新設定と Web サイトの静的リソースをリアルタイムで更新しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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

NginxとApacheの主なアーキテクチャの違いは、Nginxがイベント駆動型の非同期非ブロッキングモデルを採用し、Apacheはプロセスまたはスレッドモデルを使用することです。 1)nginxは、静的な内容と逆プロキシに適したイベントループとI/O多重化メカニズムを介して、高電流接続を効率的に処理します。 2)Apacheは、非常に安定しているがリソース消費量が高いマルチプロセスまたはマルチスレッドモデルを採用しており、リッチモジュールの拡張が必要な​​シナリオに適しています。

Nginx vs. Apache:長所と短所を調べますNginx vs. Apache:長所と短所を調べますApr 27, 2025 am 12:05 AM

Nginxは、高い同時コンテンツと静的コンテンツの処理に適していますが、Apacheは複雑な構成と動的コンテンツに適しています。 1。NGINXは、交通量の多いシナリオに適した同時接続を効率的に処理しますが、動的コンテンツを処理するときは追加の構成が必要です。 2。Apacheは、複雑なニーズに適したリッチモジュールと柔軟な構成を提供しますが、並行性のパフォーマンスが低いです。

NginxとApache:重要な違​​いを理解するNginxとApache:重要な違​​いを理解するApr 26, 2025 am 12:01 AM

NginxとApacheにはそれぞれ独自の利点と欠点があり、選択は特定のニーズに基づいている必要があります。 1.Nginxは、非同期の非ブロッキングアーキテクチャのため、高い並行性シナリオに適しています。 2。Apacheは、モジュラー設計のため、複雑な構成を必要とする低変動シナリオに適しています。

Nginxユニット:主要な機能と機能Nginxユニット:主要な機能と機能Apr 25, 2025 am 12:17 AM

Nginxunitは、複数のプログラミング言語をサポートし、動的構成、ゼロダウンタイム更新、組み込みのロードバランシングなどの機能を提供するオープンソースアプリケーションサーバーです。 1。動的構成:再起動せずに構成を変更できます。 2。多言語サポート:Python、Go、Java、PHPなどと互換性があります。 4。ビルトインロードバランシング:リクエストは、複数のアプリケーションインスタンスに配布できます。

Nginxユニットvs他のアプリケーションサーバーNginxユニットvs他のアプリケーションサーバーApr 24, 2025 am 12:14 AM

nginxunitは、多言語プロジェクトや動的な構成要件に適した、apachetomcat、gunicorn、node.jsビルトインHTTPサーバーよりも優れています。 1)複数のプログラミング言語をサポートします。2)動的な構成リロード、3)高いスケーラビリティと信頼性を必要とするプロジェクトに適した組み込みの負荷分散機能を提供します。

Nginxユニット:アーキテクチャとその仕組みNginxユニット:アーキテクチャとその仕組みApr 23, 2025 am 12:18 AM

Nginxunitは、モジュラーアーキテクチャと動的な再構成機能により、アプリケーションのパフォーマンスと管理性を向上させます。 1)モジュラー設計には、マスタープロセス、ルーター、アプリケーションプロセスが含まれ、効率的な管理と拡張をサポートします。 2)動的再構成により、CI/CD環境に適した、実行時に構成をシームレスに更新できます。 3)多言語サポートは、言語ランタイムの動的なロードを通じて実装され、開発の柔軟性が向上します。 4)イベント駆動型モデルと非同期I/Oによって高性能が達成され、高い並行性の下でも効率的なままです。 5)申請プロセスを分離し、アプリケーション間の相互の影響を減らすことにより、セキュリティが改善されます。

Nginxユニットの使用:アプリケーションの展開と管理Nginxユニットの使用:アプリケーションの展開と管理Apr 22, 2025 am 12:06 AM

nginxunitを使用して、アプリケーションを複数の言語で展開および管理できます。 1)nginxunitをインストールします。 2)PythonやPHPなどのさまざまなタイプのアプリケーションを実行するように構成します。 3)アプリケーション管理に動的構成関数を使用します。これらの手順を通じて、アプリケーションを効率的に展開および管理し、プロジェクトの効率を向上させることができます。

Nginx vs. Apache:Webサーバーの比較分析Nginx vs. Apache:Webサーバーの比較分析Apr 21, 2025 am 12:08 AM

NGINXは、高い並行接続の処理に適していますが、Apacheは複雑な構成とモジュール拡張が必要な​​シナリオにより適しています。 1.Nginxは、高性能と低リソース消費で知られており、高い並行性に適しています。 2. Apacheは、その安定性とリッチモジュール拡張機能で知られています。これは、複雑な構成ニーズに適しています。

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

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

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強力な PHP 統合開発環境

SublimeText3 中国語版

SublimeText3 中国語版

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

SublimeText3 Mac版

SublimeText3 Mac版

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

SublimeText3 Linux 新バージョン

SublimeText3 Linux 新バージョン

SublimeText3 Linux 最新バージョン