Nginx を使用して HTTP リクエストのリバース プロキシ キャッシュを行う方法
Nginx は、高性能のオープン ソース Web サーバー ソフトウェアです。静的リソース リクエストを処理する Web サーバーとして機能することに加えて、Nginx は次のことも実行できます。 HTTP リクエスト、リバース プロキシ。リバース プロキシは、クライアント要求を複数のバックエンド サーバーに転送して処理するのに役立ち、キャッシュを通じて応答速度を向上させることができます。この記事では、Nginxでリバースプロキシキャッシュを設定する方法を紹介します。
Nginx のインストール
まず、Nginx サーバーをインストールする必要があります。 Linux 環境では、パッケージ マネージャーを通じてインストールできます。 Debian/Ubuntu を例として、次のコマンドを実行します。
sudo apt update sudo apt install nginx
/etc/nginx/nginx.conf
にあります。テキスト エディタでファイルを開き、http{}
ブロックを見つけます。 次の構成を http{}
ブロックに追加します:
proxy_cache_path /path/to/cache levels=1:2 keys_zone=my_cache:10m max_size=10g inactive=60m;
ここで、/path/to/cache
はキャッシュです。実際の状況に応じて変更できます。 levels=1:2
キャッシュ ディレクトリのレベルを示します。 keys_zone=my_cache:10m
は、キャッシュ メタデータを保存するためにキャッシュに 10M のメモリを割り当てることを意味します。 max_size=10g
キャッシュの最大サイズが 10G であることを示します。 inactive=60m
は、キャッシュ ファイルが 60 分間アクセスされなかった場合、期限切れとみなされることを意味します。
次に、server{}
ブロック内に次の設定を追加します。
proxy_cache my_cache; proxy_cache_valid 200 302 1h; proxy_cache_valid 301 404 10m; proxy_cache_use_stale error timeout updating http_500 http_503;
このうち、proxy_cache my_cache
は、 という名前を有効にすることを意味します。 my_cache
キャッシュ。 proxy_cache_valid
は、さまざまなステータス コードのキャッシュ有効期間を設定するために使用されます。たとえば、ステータス コード 200 および 302 のリクエスト キャッシュ有効期間は 1 時間です。 proxy_cache_use_stale
バックエンド サーバーでエラーまたはタイムアウトが発生した場合に、期限切れのキャッシュを応答として使用するかどうかを指定するために使用されます。
リバース プロキシの構成
キャッシュの構成が完了したら、リバース プロキシを構成する必要があります。 server{}
ブロック内に、次の設定を追加します。
location / { proxy_pass http://backend_server; proxy_set_header Host $host; proxy_cache_bypass $http_cache_control; proxy_cache_key $uri$is_args$args; }
ここで、proxy_pass
はバックエンド サーバーのアドレスを指定します。 proxy_set_header
は、プロキシ リクエストのヘッダー情報を設定するために使用されます。ここでは、リクエストの host
ヘッダーは現在のホストに設定されます。 proxy_cache_bypass
は、キャッシュを使用しないリクエストを指定するために使用されます。これは、リクエスト ヘッダーの cache-control
に基づいて決定されます。 proxy_cache_key
キャッシュ キーの生成に使用されます。ここでは、要求された URI とパラメーターの組み合わせを示します。
Nginx を再起動してテスト
上記の設定が完了したら、設定ファイルを保存して終了します。次に、次のコマンドを使用して Nginx サービスを再起動します。
sudo systemctl restart nginx
次に、ブラウザまたはコマンド ライン ツールを介してリクエストを送信し、Nginx キャッシュの動作を観察します。
まとめ
上記の手順により、Nginx のリバース プロキシ キャッシュ機能を正常に設定できました。キャッシュを利用することでリクエストの応答速度が大幅に向上し、バックエンドサーバーの負荷を軽減できます。同時に、Nginx は、実際のニーズに応じて調整および最適化できる柔軟な構成オプションも提供します。
この記事が、Nginx のリバース プロキシ キャッシュ機能の理解と使用に役立つことを願っています。ご質問やご不明な点がございましたら、コメント欄にメッセージを残してください。できる限りお答えいたします。
以上がNginx を使用して HTTP リクエストのリバース プロキシ キャッシュを行う方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。