CentOSおよびFedoraクラウドサーバーでApacheを使用してmod_pagespeedを開始する方法
序章
Apacheで最近人気のあるモジュールの1つは、mod_pagespeedです。 これは、Apache 2.2以降の出力フィルターであり、構成ファイルまたは.htaccessファイルを介してさまざまなオプションで構成できます。 「出力フィルター」は、データがクライアントに送信される前にデータを変換するものです。 言い換えれば、それはあなたのウェブサイトとユーザーがあなたのURLにアクセスしたときにユーザーのブラウザが受け取るものとの間の層です。
Webを高速化
mod_pagespeedの目標は、Webサイトを高速化することです。 これは、さまざまなファイルにフィルターを適用して、ブラウザーが必要なものを取得するために必要なトリップ数を減らし、それらのファイルのサイズを減らし、それらのファイルがキャッシュされる長さを最適化することによって行われます。
インストール
インストールはとても簡単です。 使用するオペレーティングシステムによって異なります。 UbuntuとDebianには、ダウンロードしてインストールできるパッケージ(または.DEBパッケージを使用するLinuxディストリビューション)があります。 他のLinuxディストリビューションは、ソースをダウンロードしてそこからビルドできます。
64ビットバージョンを使用している場合(おそらく)…
wget https://dl-ssl.google.com/dl/linux/direct/mod-pagespeed-stable_current_x86_64.rpm
32ビットバージョンを使用している場合(可能性は低いです)…
wget https://dl-ssl.google.com/dl/linux/direct/mod-pagespeed-stable_current_i386.rpm
に続いて:
yum install at
(’at’がまだインストールされていない場合)
rpm -U mod-pagespeed-*.rpm
ダウンロードしたパッケージを削除します
rm mod-pagespeed-*.deb
モジュールは、インストール時に自動的に有効になります。 ただし、動作を開始するには、Apacheを再起動する必要があります。
/etc/init.d/httpd restart
これで、VPSでmod_pagespeedの動作バージョンが稼働しているはずです。 これは、ページの応答ヘッダーを確認することで確認できます。 インストールしたバージョン番号で「X-Mod-Pagespeed」の値が必要です。
設定
インストールパッケージは、すぐに使用できる多くの構成を処理します。 実際、Apacheで自動的に有効になる控えめなデフォルトがあります。 実行しているApacheのバージョンに応じて、異なるバージョンのモジュールがインストールされ、有効になります。 Apache 2.2を実行している場合は、 mod_pagespeed.so
インストールされます。 Apache2.4ユーザーは mod_pagespeed_ap24.so
.
さらに、構成ファイルがApacheインストールに追加されました。 一次構成ファイルは pagespeed.conf
. このファイルは次の場所にあります。
/etc/httpd/conf.d/
構成
必要に応じて、今すぐ停止できます。 mod_pagespeedのデフォルトは適切ですが、サイトにいくつかの追加の調整を加えることで、パフォーマンスを向上させることができる場合がよくあります。 すべてのサイトは、さまざまな設定でさまざまな結果を得ることができます。いろいろと試して、自分と自分のサイトに最適な設定を見つけるのが最善です。
このチュートリアルでは、より一般的な設定のいくつかについて説明します。
mod_pagespeedを設定する方法
mod_pagespeedを構成する方法はいくつかあります。 上記のpagespeed.confファイルを使用して、クラウドサーバー全体用に構成できます。 または、必要に応じて、Apache仮想ホスト/WebサイトのVirtualHostディレクティブに構成設定を配置することもできます。 最後に、ほとんどのサイトがmod_rewriteに対して行うことなど、.htaccessファイルでディレクティブを指定するオプションがあります。
これらのオプションの中で最もパフォーマンスが低いのは.htaccessファイルです。これは、すべてのリクエストでロードする必要があるためです。 pagespeed.confファイルはApacheの起動時にロードされるため、構成設定を保存するのに理想的な場所です。 同じ理由で、VirtualHostディレクティブの内部は、サイトのhtaccessファイルの内部よりも望ましいです。 これは、サイト固有の設定を行うのにも適した場所です。
構成ファイルを編集するテキストエディタを使用できます。 このチュートリアルでは、nanoを使用します。
メイン構成ファイルの編集を開始するには、次のコマンドを使用します。
nano /etc/httpd/conf.d/pagespeed.conf
基本設定
一般に、pagespeed.confの設定は、ファイル内にかなりよく文書化されています。 http://www.modpagespeed.comから入手できるフィルターの例の素晴らしいリストもあります。 サイトのパフォーマンスを最適化するために使用する可能性のあるいくつかの一般的な設定を次に示します。
mod_pagespeedをオン/オフにします
まず、ModPagespeed設定を使用してモジュールをオンまたはオフにできます。
ModPagespeed on
また
ModPagespeed off
レベルの書き換え
設定のさまざまな「レベル」を指定して、構成を簡素化できます。 デフォルトは “CoreFilters.”
これには、Googleチームが安全に使用できると信じている一連のフィルターが含まれています。 フィルタは、ファイルに適用される個々のアクションです。 通常、この値を変更する必要はありません。 このデフォルトを使用してから、を使用してフィルターを有効または無効にする方が簡単です。 ModPagespeedEnableFilters
と ModPagespeedDisableFilters
ディレクティブ。
デフォルト設定:
ModPagespeedRewriteLevel CoreFilters
CoreFiltersを無効にするには、次の設定を使用します。
ModPagespeedRewriteLevel PassThrough
注:「PassThrough」設定を使用して、オンにするフィルターを明示的に有効にする必要があります。
デフォルトの「CoreFilters」書き換えレベルを使用すると、デフォルトでいくつかのフィルターが含まれます。 この記事の執筆時点では、次のものが含まれています。
add_head combine_css convert_jpeg_to_progressive convert_meta_tags extend_cache flatten_css_imports inline_css inline_import_to_link inline_javascript rewrite_css rewrite_images rewrite_javascript rewrite_style_attributes_with_url
将来、新しいフィルターが追加される予定です。 CoreFiltersを使用すると、mod_pagespeedを更新するたびにこれらのフィルターがデフォルト設定の一部になると、これらのフィルターが自動的に有効になります。 PassThroughを使用するには、新しいフィルターを明示的に有効にする必要があります。
フィルタを有効にする
追加のフィルターを有効にする場合は、それらをコンマ区切りのリストとしてに渡すことができます。 ModPagespeedEnableFilters
. 構成ファイル全体に複数のModPagespeedEnableFiltersディレクティブを含めることができます。 したがって、サイトごとにフィルターを有効にする場合は、メインのpagespeed.confファイルではなく、仮想ホスト構成ファイルまたは.htaccessファイルでフィルターを有効にすることができます。
次に、Pedanticフィルター(スクリプトタグとスタイルタグにtype属性を追加する)とコメントの削除フィルター(すべてのHTMLコメントを削除する)を有効にする例を示します。
ModPagespeedEnableFilters pedantic,remove_comments
フィルタを無効にする
必要に応じて、ケースごとにフィルターを無効にすることもできます。 無効にするフィルターのリストを指定します。
ModPagespeedEnableFilters
次の例では、CoreFiltersセットの一部であっても、「JPEGをプログレッシブに変換」フィルターを無効にします。
ModPagespeedDisableFilters convert_jpeg_to_progressive
書き換えるURLを指定する
デフォルトでは、mod_pagespeedは可能な限りすべてを書き換えます。 次のディレクティブを使用して、特定のファイル(Javascriptライブラリなど)の書き換えを無効にすることができます。
ModPagespeedDisallow "*/jquery-ui-*.min.js"
これにより、指定されたワイルドカードパターン(この場合はjquery UI)に一致するファイルの書き換えが無効になります。
デフォルトですべてのファイルの書き換えをオフにし、手動で書き換えたいファイルのみを有効にすることもできます。 これは、次の設定で実行できます。
ModPagespeedDisallow "*" ModPagespeedAllow "http://*digitalocean.com/*/styles/*.css" ModPagespeedAllow "http://*digitalocean.com/*.html" ModPagespeedDisallow "*/notrewritten.html"
実行順序は、digitalocean.comの.htmlで終わるすべてのファイルが書き換えられることを意味します。 その最後のDisallowディレクティブは、そのパターンに一致するURLが以前の設定を上書きするため、書き換えられないことを意味します。
Apacheを再起動します
pagespeed.confまたはVirtualHostファイルを使用して設定を変更している場合は、設定を有効にするためにApacheを再起動する必要があることを忘れないでください。 これは、次のコマンドで実行できます。
/etc/init.d/httpd restart
結論
このガイドは、mod_pagespeedの使用を開始するのに役立ちます。 サーバー全体またはサイトごとに適用できる設定やディレクティブは他にもたくさんあります。 さらに、mod_pagespeedは活発に開発されているため、毎日変更されています。 詳細については、Googleが運営するhttp://www.modpagespeed.comにアクセスしてください。
さらに、https://developers.google.com/speed/pagespeed/modで公式のmod_pagespeedサイトをチェックできます。