高性能静的ファイル キャッシュに Nginx を使用する方法
Nginx は、その高性能と高い同時実行機能により広く注目され、使用されている軽量のオープン ソース Web サーバーです。 Nginx には Web サーバーであるだけでなく、Web サイトのアクセス速度とパフォーマンスを大幅に最適化できる静的ファイル キャッシュ機能を提供する重要な機能もあります。この記事では、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 は静的ファイルへのアクセス ログを無効にします。
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-Control と
Pragma# を追加します。 ##。これら 2 つのヘッダーは、クライアントと他のキャッシュ サーバーに、キャッシュされたコピーが一定期間使用可能であることを伝えます。 etag off
Etag ヘッダー情報は無効になっています。これは、場合によっては Etag が互換性の問題を引き起こす可能性があるためです。
Expires
フィールド、および応答コンテンツのサイズを表示できます。キャッシュが有効になると、静的ファイルに初めてアクセスした後、Cache-Control
および Expires
の値が上記の設定と一致していることがわかります。再度リクエストすると、応答コンテンツのサイズは非常に小さくなります。
$ curl -I example.com/path/to/image.jpg
キャッシュが有効な場合は、結果に次のような行が表示されます。
Cache-Control: public, max-age=2592000 Expires: Thu, 10 Aug 2023 08:16:50 GMT
style.v1.css
に変更し、新しいファイル名と一致するように Nginx の構成ファイルを更新できます。こうすることで、CSS ファイルが変更されるたびに、ファイル名のバージョン番号を更新するだけで済みます。
$ nginx -s reload
この方法で、Nginx は構成ファイルを再読み込みし、更新された構成がすぐに有効になります。
概要
Nginx を静的ファイル キャッシュに使用すると、Web サイトのパフォーマンスとアクセス速度が大幅に向上します。この記事では、静的ファイル アクセスとキャッシュ機能を有効にするために Nginx を構成する方法を紹介し、対応するコード例と検証方法を示します。このコンテンツがウェブサイトのパフォーマンスの最適化に役立つことを願っています。以上がNginx を使用して高性能の静的ファイル キャッシュを実現する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。