Nginx リバース プロキシ キャッシュの更新設定と Web サイトの静的リソースをリアルタイムで更新します
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キャッシュのタイムアウトを指定します。
- proxy_temp_path
: 一時ディレクトリのパスを設定します。
- proxy_cache_key
: キャッシュ キーの生成に使用される変数。$scheme はリクエスト プロトコルを表し、$request_method はリクエスト メソッドを表します。$host はリクエストのホスト名を表します。$request_uri はリクエストのホスト名を表します。リクエストのURI。
- proxy_ignore_headers
: 無視する必要がある応答ヘッダーを指定します。
- proxy_cache_valid
: キャッシュの有効時間を設定します。
- proxy_cache_use_stale
: キャッシュの更新時に古いキャッシュの使用が許可される状況を定義します。
静的リソースのリアルタイム更新: - Web サイト上の静的リソースのリアルタイム更新を実現するには、バックグラウンド プログラムまたはスクリプトに追加のロジックを追加して、更新後にキャッシュを更新するリクエストを発行する必要があります。静的リソースの各更新。以下は簡単な例です:
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: 1 を
http://your-nginx-server/purge-url で GET リクエストを発行する場合、Nginx は、要求された URI に従って、対応するキャッシュを更新します。
- 検証:
- 構成が正しいことを検証するには、ブラウザ、Postman、または同様のツールを使用して、
X-Purge-Cache: 1## で GET を発行します。 # 聞く。キャッシュが正常に更新された場合、対応する静的リソースに再度アクセスすると、バックエンド サーバーから最新バージョンが取得され、ユーザーに最新の静的リソースが表示されるようにキャッシュが更新されます。 結論:
以上がNginx リバース プロキシ キャッシュの更新設定と Web サイトの静的リソースをリアルタイムで更新しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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

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

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

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

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

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

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

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


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

ZendStudio 13.5.1 Mac
強力な PHP 統合開発環境

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

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

SublimeText3 Linux 新バージョン
SublimeText3 Linux 最新バージョン

ホットトピック









