Nginx リバース プロキシ キャッシュの更新構成、Web サイトの静的リソースのリアルタイム更新
はじめに:
Web 開発では、静的リソースは Web サイトの不可欠な部分です。ただし、頻繁に更新される静的リソースでは、アクセス中に古いバージョンが表示されたり、読み込みが遅くなったりする可能性があります。この問題を解決する効果的な方法は、Nginx のリバース プロキシ キャッシュ機能を使用し、Web サイトの静的リソースをリアルタイムで更新するように設定することです。この記事では、Nginx の設定を通じてこの機能を実現する方法を紹介します。
リバース プロキシ キャッシュを有効にする:
まず、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; } ... } }
説明:
proxy_cache_path##注※ リバースプロキシのキャッシュパスと関連する設定を設定します。
levels はディレクトリ レベル、
keys_zone はキャッシュ領域の名前とサイズ、
max_size はキャッシュの最大サイズを設定します、
inactive キャッシュのタイムアウトを指定します。
: 一時ディレクトリのパスを設定します。
: キャッシュ キーの生成に使用される変数。$scheme はリクエスト プロトコルを表し、$request_method はリクエスト メソッドを表します。$host はリクエストのホスト名を表します。$request_uri はリクエストのホスト名を表します。リクエストのURI。
: 無視する必要がある応答ヘッダーを指定します。
: キャッシュの有効時間を設定します。
: キャッシュの更新時に古いキャッシュの使用が許可される状況を定義します。
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"; }説明:
: キャッシュ リフレッシュ リクエストを処理するためのルートを構成します。
: ルートは内部リクエストによってのみアクセスでき、外部リクエストによってはアクセスできないことを示します。
: リフレッシュするキャッシュ領域と関連パラメータを設定します。
X-Purge-Cache: 1 を
http://your-nginx-server/purge-url で GET リクエストを発行する場合、Nginx は、要求された URI に従って、対応するキャッシュを更新します。
以上がNginx リバース プロキシ キャッシュの更新設定と Web サイトの静的リソースをリアルタイムで更新しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。