Nginx を使用して高性能の静的ファイル キャッシュを実現する方法

王林
リリース: 2023-08-02 16:13:11
オリジナル
1890 人が閲覧しました

高性能静的ファイル キャッシュに Nginx を使用する方法

Nginx は、その高性能と高い同時実行機能により広く注目され、使用されている軽量のオープン ソース Web サーバーです。 Nginx には Web サーバーであるだけでなく、Web サイトのアクセス速度とパフォーマンスを大幅に最適化できる静的ファイル キャッシュ機能を提供する重要な機能もあります。この記事では、Nginx を使用して高パフォーマンスの静的ファイル キャッシュを行う方法を紹介し、対応するコード例を示します。

  1. 静的ファイル アクセス用の Nginx の構成
    静的ファイル キャッシュ機能を有効にするには、まず静的ファイルのリクエストを識別して処理するように Nginx を構成する必要があります。通常、静的ファイルには画像、CSS ファイル、JavaScript ファイルなどが含まれます。以下は、簡単な Nginx 構成の例です。
server {
    listen 80;
    server_name example.com;

    root /path/to/static/files;

    location ~* .(jpg|jpeg|png|gif|css|js)$ {
        expires 30d;
        access_log off;
    }
}
ログイン後にコピー

上記の構成では、listen は Nginx がリッスンするポートを指定し、server_name はドメイン名を指定します。サーバーの。 root は、静的ファイルが配置されるルート ディレクトリを指定します。 location ディレクティブは、一致する URL パターンと対応する処理パラメーターを指定します。上記の構成では、正規表現 ~* .(jpg|jpeg|png|gif|css|js)$ は、jpg、jpeg、png、gif、css、または js ファイルの接尾辞 ## と一致します。 #expires はキャッシュの有効期間が 30 日であることを指定し、access_log off は静的ファイルへのアクセス ログを無効にします。

    静的ファイル キャッシュ用の Nginx の構成
  1. Nginx の静的ファイル キャッシュ機能を有効にするために、いくつかの追加の構成手順を追加できます。以下に例を示します。
  2. location ~* .(jpg|jpeg|png|gif|css|js)$ {
        expires 30d;
        access_log off;
        add_header Cache-Control "public";
        add_header Pragma public;
        etag off;
    }
    ログイン後にコピー
上の例では、

add_header ディレクティブは 2 つのヘッダー情報、つまり Cache-ControlPragma# を追加します。 ##。これら 2 つのヘッダーは、クライアントと他のキャッシュ サーバーに、キャッシュされたコピーが一定期間使用可能であることを伝えます。 etag offEtag ヘッダー情報は無効になっています。これは、場合によっては Etag が互換性の問題を引き起こす可能性があるためです。

静的ファイル キャッシュが有効かどうかを確認する
    静的ファイル キャッシュが有効かどうかを確認するには、ブラウザの開発者ツールまたはコマンド ライン ツールを使用して確認できます。ブラウザの開発者ツールでは、HTTP 応答ヘッダーの
  1. Cache-Control
    フィールドと Expires フィールド、および応答コンテンツのサイズを表示できます。キャッシュが有効になると、静的ファイルに初めてアクセスした後、Cache-Control および Expires の値が上記の設定と一致していることがわかります。再度リクエストすると、応答コンテンツのサイズは非常に小さくなります。
  2. さらに、curl などのコマンド ライン ツールを使用して、HTTP 応答ヘッダー情報を表示できます。たとえば、次のコマンドを実行して、イメージ ファイルの HTTP 応答ヘッダー情報を表示できます。
$ curl -I example.com/path/to/image.jpg
ログイン後にコピー

キャッシュが有効な場合は、結果に次のような行が表示されます。

Cache-Control: public, max-age=2592000
Expires: Thu, 10 Aug 2023 08:16:50 GMT
ログイン後にコピー

動的更新キャッシュ
    静的ファイルが変更されたときなど、キャッシュを動的に更新する必要がある場合があります。この問題は、ファイル名またはパスにバージョン番号を追加することで解決できます。たとえば、CSS ファイル
  1. style.css
    があると仮定すると、その名前を style.v1.css に変更し、新しいファイル名と一致するように Nginx の構成ファイルを更新できます。こうすることで、CSS ファイルが変更されるたびに、ファイル名のバージョン番号を更新するだけで済みます。
  2. さらに、Nginx には、サーバーを停止せずに構成ファイルを再ロードできる reload コマンドも提供されています。たとえば、次のコマンドを実行して Nginx 構成ファイルを再ロードできます:
$ nginx -s reload
ログイン後にコピー

この方法で、Nginx は構成ファイルを再読み込みし、更新された構成がすぐに有効になります。

概要

Nginx を静的ファイル キャッシュに使用すると、Web サイトのパフォーマンスとアクセス速度が大幅に向上します。この記事では、静的ファイル アクセスとキャッシュ機能を有効にするために Nginx を構成する方法を紹介し、対応するコード例と検証方法を示します。このコンテンツがウェブサイトのパフォーマンスの最適化に役立つことを願っています。

以上がNginx を使用して高性能の静的ファイル キャッシュを実現する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!