202013nginxを使い始めてから大体一年ぐらいでしょうか。Apacheよりもスムーズなレスポンスが出来るnginxはとても重宝しています。先日、iPhoneでネットサーフィングをしていたら、GoogleのPageSpeedというApache用のモジュールがあることを偶然発見しました。ページを読んでみると、なんとnginxにも対応しているとあるじゃないですか!GoogleLoveの私には久しぶりに新鮮な情報でした。こちらに記載があるとおり、nginxとngx_pagespeedを利用するには、ソースからコンパイル必要があります。Apache-only.私は、不要な細かい設定を行うのは苦手なので、大抵はyumを用いて何でもインストールしてしまいます。以前、nginxの導入にあたり専用のyumリポジトリを追加してyumでインストールしました(こちらの記事です)。今回nginxをソースからコンパイルする際のconfigureオプションを正しく設定しないと、まったく違うところにログが出力されたり、そもそも設定が読み込まれないのでWebサイトが映らなくなってしまうと心配しました。2,3秒頭を悩ませた結果、「nginxコマンドのオプションでコンパイル時のオプションが確認できるのでは?」と思いnginxコマンドのヘルプを参照すべく以下のコマンドを実行しました。file#コマンド結果の中で、configureオプションの確認をさせてくれるオプションがありました。これがあればconfigureオプションが確認できるのでソースからのコンパイルも心配なく行えます。今回は、ngx_pagespeedモジュールを含めたnginxのコンパイル方法、基本的な設定までを紹介させていただきます。ngx_pagespeedを含めたnginxのコンパイルはじめに、コンパイル作業に必要なものがあるかを確認します。以下のコマンドで該当する必要なパッケージがインストールされているかどうかを確認しましょう。installed#もしくは、確認を行わずに以下のコマンドを実行しても大丈夫です。「install」を指定した場合、インストールされていないものがある場合は自動でインストールされます。言うまでもなく、上記コマンドでインストールされていないものがある場合にはインストールする必要があるので、こちらのコマンドを最初っから実行してもいいんですが。makeこれでコンパイル作業に必要なパッケージは揃いましたので、今度は材料をゲットしましょう。作業場所が「/tmp/nginx_pagespeed/」と仮定して記載します。作業場所はrootのホームディレクトリ直下などどこでもいいんですよ。作業用のディレクトリを作成し、作成したディレクトリへ移動します。/tmp/nginx_pagespeed/2.ngx_pagespeedをダウンロードしてきて、unzipコマンドでunzipします。release-1.6.29.5-beta.zip3.上記作業によって出来たディレクトリに移動し、必要なファイルをダウンロードし展開します。1.6.29.5.tar.gz以上でngx_pagespeedを形成する部分の材料は用意完了しました。次にnginxの材料を取得しましょう。最新版のnginxを用意します1.作業用のディレクトリに移動します。nginxのダウンロードページで最新のnginxのダウンロードURLを確認します。http://nginx.org/en/download.html3.確認したURLを元(現時点での最新版1.5.6)にダウンロード展開します。nginxを展開しできたフォルダに移動します。configureしますここで大切なのは、ngx_pagespeedモジュールを含むように「–add-module=/path/to/ngx_pagespeed-release-1.6.29.5-beta」をconfigureオプションに含めることです。-Vで確認しているconfigureオプションを追加してconfigureします。install以上でコンパイルからのインストールは完了しました。nginxの設定ファイル変更と再起動1.nginxのserverブロックに以下の記述を行いますlocationで制限している色々なツールですが、今回は利用方法の理解まで至っていないので説明は控えます。}省略}2.設定ファイルで指定しているキャッシュ用ディレクトリを作成します。apache:apache)。確認は以下のコマンドで行えます。設定ファイルのパスはご自身の環境に合わせてください。/etc/nginx/nginx.conf3.最後にnginxを再起動してください。restart以上で完了です!なお、ご参考までに私はとりあえず以下のような設定にしてみました。有効にするフィルターを指定しています。User-Agentの扱いを気にするって感じです。詳細はこちらよりご確認ください。機会を見つけてオプションの利用や、locationで指定されている機能の説明などできればいいな。@09:23nginxでこんなのあるんですね。サイト表示1秒以内をめざして色々試していますが、nginxでリバースプロキシーを設定すればいけそうなきが・・・。一時期レスポンス向上を目的に外部コンテンツを一度自サーバーで取得(キャッシュ)してそれを表示させるという対策を行っていました。面倒くさくなってあきらめました。自分の中では3秒以内に見えるものが写れば、まぁいいかなぁと思っています。クライアント側のスペックもありますし。Sinha%d人のブロガーが「いいね」をつけました。