NGINXで静的コンテンツをキャッシュする方法 - TechRepublic

NGINXで静的コンテンツをキャッシュする方法 - TechRepublic

アフィリエイトリンクまたはスポンサーシップを通じて、ベンダーから収益を得る場合があります。これにより、サイト上の商品配置が影響を受ける可能性がありますが、レビューの内容には影響しません。詳細は利用規約をご覧ください。

Jack Wallen は、静的コンテンツ キャッシュを利用して NGINX の速度をさらに高める方法を紹介します。

NGINX管理者として、Webサーバーを可能な限り効率的に運用する方法を常に模索しています。この旅は様々な道を辿り、最終的には果てしなく続くかのような数の解決策を見つけることになるでしょう。

NGINXを最適化するための解決策の一つは、静的コンテンツのキャッシュを有効にすることです。これは何をもたらすのでしょうか?簡単です。NGINXは、ブラウザがサイトにアクセスするたびにすべてのファイルを提供する代わりに、特定のファイル(この場合は画像などの静的ファイル)のキャッシュを個々のウェブブラウザにオフロードします。これにより、NGINXを利用したウェブサイトのブラウザでの読み込み速度が向上します。

静的コンテンツのキャッシュを有効にする方法をご紹介します。ウェブサイトで静的コンテンツを多く使用している場合、キャッシュを有効にするとページの読み込み速度が大幅に向上します。Ubuntu Server 16.04プラットフォームでデモを行い、NGINXが既に起動していることを前提としています。手順は実に簡単です。

構成

この設定をデフォルトのNGINXサイトで説明します。複数のサイトと仮想ホストを稼働させている場合は、それぞれの設定ファイルにこの設定を記述します。まずは、NGINXを搭載したUbuntu Serverにログインし、コマンドsudo nano /etc/nginx/sites-available/defaultを実行してください。ファイル内で、最初のサーバーセクションの一番下までスクロールし、以下のコードを追加してください(図A)。

location ~* \.(jpg|jpeg|png|gif|ico|css|js)$ {
expires 365d;
}

ファイルを保存して閉じます。

図A

上記の設定により、jpg/jpeg/png/gif/ico画像とJavaScriptがキャッシュされ、これらのコンテンツは1年間有効になります。sudo systemctl reload nginxコマンドでNGINXをリロードしてください。

テスト

新しい設定をテストするには、「HTTP Header Live」というFirefoxブラウザ拡張機能をインストールする必要があります。拡張機能をインストールすると、サイドバーが開きます。ブラウザで新しく設定したNGINXサーバーにアクセスし、JPG画像などの静的ファイルを開いてください。HTTP Header Liveサイドバーには、Expiresヘッダーとmax-ageディレクティブが設定されたCache-Controlヘッダーが表示されます(図B)。

図B

NGINXで静的コンテンツのキャッシュを有効にする方法は以上です。ウェブサイトのページ読み込み時間が改善されるはずです。/etc/nginx/sites-availableにあるサイト設定すべてに上記の設定を追加し、NGINXサービスをリロードしてください。

豊富な構成が利用可能

NGINXは、速度を重視して設計された、高度に設定可能なブラウザです。ページの読み込み時間に満足している場合でも、静的キャッシュを試してみて、サーバー速度をさらに向上できるかどうかを確認してください。

記事をシェア

こちらもご覧ください

  • Kubernetes クラスターに NGINX をデプロイする方法
  • NGINXサーバーのパフォーマンスを最適化する3つの簡単な手順
  • 管理者なら誰でも扱えるNGINXセキュリティ強化のための5つのヒント
  • Apache または NGINX: どちらの Web サーバーが適していますか?
  • NGINXでサーバーの重み付けとHTTPSロードバランシングを設定する方法
  • NGINXでシンプルな負荷分散を設定する方法
  • NGINXはアプリケーション開発と配信のためのプラットフォームを構築します
ジャック・ウォーレンの画像

ジャック・ウォーレン

ジャック・ウォーレンは、TechRepublic、The New Stack、Linux New Mediaなどで受賞歴のあるライターです。20年以上にわたり様々なトピックを執筆し、オープンソースの熱心な推進者でもあります。ジャック・ウォーレンに関する詳細は、ウェブサイトjackwallen.comをご覧ください。

Tagged: