この記事では、Webサイトのパフォーマンスを改善するために、Apacheのmod_expiresとmod_cacheの構成を詳しく説明しています。静的コンテンツ(mod_expires)の有効期限を設定する方法と、ベストプラクティスを含むサーバー側のキャッシュ(mod_cache)を実装する方法を説明します
mod_expires
またはmod_cache
を使用してApacheでブラウザキャッシュを構成すると、サーバーの負荷を削減し、訪問者を返すためのページの負荷を高速化することにより、Webサイトのパフォーマンスが大幅に向上します。両方の方法を探りましょう。
mod_expiresの使用: mod_expires
はよりシンプルで、静的コンテンツをキャッシュする時間をブラウザに指示することに焦点を当てています。サーバー上の実際のキャッシュは含まれません。 Apache構成ファイル(通常はhttpd.conf
または許可されている場合は.htaccess
ファイル)内で構成します。これが例です:
<code class="apache"><filesmatch> ExpiresActive On ExpiresDefault "access plus 1 month" </filesmatch></code>
このスニペットは、ユーザーがアクセスしてから1か月間、 .jpg
、 .jpeg
、 .png
、 .gif
、 .css
、および.js
で終了するファイルをキャッシュするようにブラウザに指示します。 ExpiresDefault
指令を調整して、異なる有効期限を設定できます。その他のオプションには、 access
、 modification
、およびさまざまな時間仕様(「アクセスと1週間」、「アクセスと1年」)が含まれます。構成ファイルを変更した後、Apacheを再起動することを忘れないでください。
mod_cacheの使用: mod_cache
、サーバー自体のより強力なキャッシュコンテンツです。これにより、キャッシュされたコンテンツを直接提供することにより、Origin Serverの負荷が削減されます。その構成はより複雑で、キャッシュディレクトリとさまざまなパラメーターを指定する必要があります。基本的な例:
<code class="apache">CacheRoot "/path/to/cache/directory" CacheDirLevels 2 CacheDirLength 2 CacheMaxFileSize 1M</code>
CacheRoot
、キャッシュディレクトリの場所を定義します。 CacheDirLevels
とCacheDirLength
、キャッシュ内のディレクトリ構造を決定します。 CacheMaxFileSize
、キャッシュされたファイルのサイズを制限します。どのコンテンツをキャッシュするか、キャッシュを維持する時間を指定するなど、より高度なオプションについては、Apacheドキュメントを参照する必要があります。 mod_cache
の適切な構成には、サーバーのリソースとウェブサイトのトラフィックパターンを慎重に検討する必要があります。
パフォーマンスのためにApacheのキャッシュモジュールを最適化するには、全体的なアプローチが必要です。
mod_expires
で十分です。大幅なパフォーマンスの向上とサーバーの負荷の削減には、特にトラフィックが多い場合、 mod_cache
が必要です。mod_cache
の場合、定期的なキャッシュクリーニングが重要です。古いファイルまたは未使用のファイルはディスクスペースを消費し、パフォーマンスに悪影響を与える可能性があります。適切なキャッシュサイズ制限を構成し、自動クリーンアップメカニズムを検討します。Content-Type
ヘッダーを使用して、ブラウザがアセットの正しいバージョン(さまざまなデバイスの異なる画像形式)を要求してキャッシュするようにします。Cache-Control
、 Expires
、 ETag
、 Last-Modified
)。これらのヘッダーは、キャッシュの処理方法についてブラウザをガイドします。キャッシュの問題のトラブルシューティングには、体系的な調査が必要です。
Cache-Control
を探して、応答ヘッダーのヘッダーのExpires
。httpd.conf
、 .htaccess
など)を再確認して、キャッシュモジュールが有効になり、正しく構成されていることを確認します。構文とファイルパスに細心の注意を払ってください。curl
などのツールを使用して、サーバーがキャッシュヘッダーで正しく応答し、キャッシュコンテンツを提供しているかどうかをテストします。はい、 mod_expires
とmod_cache
両方で、ファイルの種類とディレクトリに基づいて選択的な構成を可能にします。
MOD_EXPIRESSを使用:最初の例に示すように、 FilesMatch
ディレクティブを使用して、特定のファイルの種類または場所に一致するパターンを指定できます。複数のFilesMatch
ブロックを作成して、さまざまなファイルタイプの異なるルールを定義できます。
mod_cacheで: mod_cache
より詳細な制御を提供します。さまざまなディレクティブを使用して、ファイルの種類、URL、またはディレクトリに基づいてキャッシュルールを定義できます。たとえば、特定のディレクトリのみをキャッシュするか、キャッシュから特定のファイルタイプを除外することを選択できます。利用可能な特定のディレクティブは、使用しているApacheとmod_cache
のバージョンによって異なります。これらの高度な構成オプションの詳細については、Apacheドキュメントを参照してください。位置ブロック( <location></location>
または<directory></directory>
)は、一般に、Webサイトの特定の部分のキャッシュルールを定義するために使用されます。例えば:
<code class="apache"><directory> CacheEnable disk </directory> <directory> CacheDisable </directory></code>
この例は/path/to/static/files
のファイルのディスクキャッシュを可能にし、 /path/to/dynamic/content
のキャッシュを無効にします。不適切な構成は予期しない動作につながる可能性があるため、選択的なキャッシュルールを慎重に計画することを忘れないでください。
以上がmod_expiresまたはmod_cacheを使用してApacheでブラウザキャッシュを構成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。