nginx前書きウェブサイトの読み込みが速いほど、訪問者は滞在する可能性が高くなります。ウェブサイトがバックグラウンドでロードされたスクリプトによって実行される画像とインタラクティブなコンテンツでいっぱいの場合、ウェブサイトを開くことは簡単な作業ではありません。サーバーから多くの異なるファイルを1つずつ要求することで構成されます。これらのリクエストの量を最小限に抑えることは、Webサイトを高速化する1つの方法です。これはさまざまな方法で実行できますが、より重要なステップの1つは、_browserキャッシング_を構成することです。これは、一度ダウンロードしたファイルをサーバーに何度も要求する代わりに、ローカルコピーから再利用できることをブラウザーに伝えています。これを行うには、ブラウザに動作を指示する新しいHTTP応答ヘッダーを導入する必要があります。これは、Nginxのヘッダーモジュールが作用する場所です。このモジュールを使用して、任意のヘッダーを応答に追加できますが、その主な役割は、キャッシュヘッダーを適切に設定することです。このチュートリアルでは、Nginxのヘッダーモジュールを使用してブラウザーのキャッシュを実装する方法について説明します。前提条件このチュートリアルを実行するには、次のものが必要です。7サーバー(sudo非ルートユーザーを含む)。7にNginxをインストールする方法のチュートリアルに従って、サーバーにインストールされたNginx。この記事では、ヘッダーモジュールに加えて、Nginxのマップモジュールも使用します。[Nginxのマップの使用方法]を参照してください。ステップ1-テストファイルの作成このステップでは、デフォルトのNginxディレクトリにいくつかのテストファイルを作成します。これらのファイルを後で使用して、Nginxのデフォルトの動作を確認し、ブラウザのキャッシュが機能していることをテストします。ネットワーク経由で提供されるファイルの種類を決定するために、Nginxはファイルの内容を分析しません。それは法外に遅いでしょう。代わりに、ファイルの拡張子を検索して、ファイルの目的を示す_MIMEタイプ_を判別します。この動作のため、テストファイルの内容は無関係です。ファイルに適切な名前を付けることにより、Nginxをだまして、たとえば、1つの完全に空のファイルは画像で、もう1つはスタイルシートであると考えることができます。+`という名前のファイルを作成します。この拡張機能は、HTMLページであることを示しています。/usr/share/nginx/html/test.html同じ方法で、さらにいくつかのテストファイルを作成しましょう。JavaScriptファイルです。/usr/share/nginx/html/test.js次のステップでは、作成したばかりのファイルを使用して、新規インストールでキャッシュコントロールヘッダーを送信することに関するNginxの動作を確認します。手順2-デフォルトの動作の確認デフォルトでは、すべてのファイルに同じデフォルトのキャッシュ動作が設定されます。これを調べるために、ステップ1で作成したHTMLファイルを使用しますが、これらのテストは任意のサンプルファイルで実行できます。+」に提供されているかどうかを確認しましょう。次のコマンドは、ローカルのNginxサーバーにファイルを要求し、応答ヘッダーを表示します。http://localhost/test.htmlいくつかのHTTP応答ヘッダーが表示されるはずです。`ヘッダーがあります。+`値が表示されます。+`要求ヘッダーとともにサーバーに送信されます。次のコマンドを使用して、コマンドラインでこれをシミュレートできます。+`の値と一致するようにしてください。http://localhost/test.html応答は異なります。ネットワーク経由でファイルを再度送信することはありません。代わりに、既にローカルにダウンロードしたファイルを再利用できることをブラウザに伝えます。これはネットワークトラフィックを削減するので便利ですが、優れたキャッシュパフォーマンスを達成するには十分ではありません。+`の問題は、ブラウザが常にキャッシュファイルを再利用できるかどうかを尋ねるリクエストをサーバーに送信することです。サーバーは、ファイルを再度送信する代わりに304で応答しますが、要求を作成して応答を受信するにはまだ時間がかかります。次のステップでは、ヘッダーモジュールを使用して、キャッシュ制御情報を追加します。これにより、ブラウザはサーバーに明示的に問い合わせなくても一部のファイルをローカルにキャッシュできます。Expires`よりも多くのオプションがあり、キャッシュ動作をより細かく制御したい場合に一般的に便利です。これらのヘッダーが設定されている場合、リクエストされたファイルは、再度リクエストすることなく、一定時間(永久に含む)ローカルに保持できることをブラウザに伝えることができます。ヘッダーモジュールを使用して、これらのHTTPヘッダーを設定できます。ヘッダーモジュールはコアNginxモジュールです。使用するために個別にインストールする必要はありません。+`の簡単な紹介])またはお好みのテキストエディター。+`設定ブロックを見つけます。.ここに次の2つの新しいセクションを追加します。+`ブロックの前に、異なるファイルタイプをキャッシュする期間を定義し、1つはキャッシュヘッダーを適切に設定します。map`ブロックで、ファイルタイプとその種類のファイルをキャッシュする期間との間のマッピングを定義します。+」に設定され、キャッシュ制御ヘッダーは追加されません。キャッシュがどのように機能するかについての特別な要件はありません。epoch`に設定します。これは特別な値であり、明示的にキャッシュなしになります。これにより、ブラウザは常にWebサイト自体が最新かどうかを常に確認します。これは、ブラウザがこれらのファイルをできる限りキャッシュすることを意味し、通常これらのファイルが多数あるため、要求の量を大幅に削減します。