Nginx(engine-x) は、オープンソースで高性能のHTTPサーバー、リバースプロキシ、およびIMAP/POP3プロキシサーバーです。 Nginxの優れた機能は、安定性、豊富な機能セット、シンプルな構成、低メモリ消費です。このチュートリアルでは、GooglePageSpeedモジュールがコンパイルされたソースからUbuntu16.04用のNginx.debパッケージをビルドする方法を示します。
PageSpeed は、ウェブサイトの応答時間を短縮し、返されるHTMLを最適化し、ページの読み込み時間を短縮するためにGoogleが開発したウェブサーバーモジュールです。 ngx_pagespeedの機能は次のとおりです。
- 画像の最適化:メタデータの削除、動的なサイズ変更、再圧縮。
- CSSとJavaScriptの縮小、連結、インライン化、およびアウトライン化。
- 小さなリソースのインライン化。
- 画像とJavaScriptの読み込みを延期します。
- HTMLの書き換え。
- キャッシュの有効期間の延長。
詳しくはhttps://developers.google.com/speed/pagespeed/module/をご覧ください。
- UbuntuServer16.04-64ビット
- root権限
このチュートリアルで行うこと:
- 前提条件パッケージをインストールします。
- ngx_pagespeedを使用してnginxをインストールします。
- テスト。
sudo apt-get install dpkg-dev build-essential zlib1g-dev libpcre3 libpcre3-dev unzip
ngx_pagespeedを使用したnginxのインストール
vimを使用して新しいリポジトリファイル/etc/apt/sources.list.d/nginx.listを作成します。
vim /etc/apt/sources.list.d/nginx.list
ここに行を追加します:
deb http://nginx.org/packages/ubuntu/ xenial nginx deb-src http://nginx.org/packages/ubuntu/ xenial nginx
ファイルを保存してエディタを終了します。
キーを追加してリポジトリを更新します:
sudo sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys ABF5BD827BD9BF62
sudo apt-get update
nginxソースファイル用の新しいディレクトリを作成し、apt:
を使用してnginxソースをダウンロードします。cd ~
mkdir -p ~/new/nginx_source/
cd ~/new/nginx_source/
apt-get source nginx
場合によっては、「パッケージを認証できません」というエラーが発生します。
以下のコマンドを入力して解決できます:
rm -rf /var/lib/apt/lists/
apt-get update
次に、すべての依存関係をインストールしてnginxパッケージをビルドします。
apt-get build-dep nginx
PageSpeedの新しいディレクトリを作成し、PageSpeedソースをダウンロードします。
このチュートリアルでは、pagespeed1.11.33を使用します。
mkdir -p ~/new/ngx_pagespeed/
cd ~/new/ngx_pagespeed/
ngx_version= 1.11.33.3
wget https://github.com/pagespeed/ngx_pagespeed/archive/release-${ngx_version}-beta.zip
unzip release-${ngx_version}-beta.zip
cd ngx_pagespeed-release-${ngx_version}-beta/
wget https://dl.google.com/dl/page-speed/psol/${ngx_version}.tar.gz
tar -xzvf ${ngx_version}.tar.gz
'nginx_source'ディレクトリに移動し、vimで'rules'ファイルを編集します。
cd ~/new/nginx_source/nginx-1.10.1/debian/
vim rules
'COMMON_CONFIGURE_ARGS'の下に新しい行を追加します:
--add-module=../../ngx_pagespeed/ngx_pagespeed-release-1.11.33.3-beta \
保存して終了します。
nginxソースディレクトリに移動し、dpkg-buildpackageコマンドを使用してソースからnginxをビルドします。
cd ~/new/nginx_source/nginx-1.10.1/
dpkg-buildpackage -b
nginx Ubuntuパッケージは〜/ new /ngix_source/に保存されます。パッケージの作成が完了したら、次のディレクトリを確認してください。
cd ~/new/ngix_source/
ls
そして、dpkgコマンドでnginxとmodulesdebをインストールします。
dpkg -i *.deb
nginx -Vを実行して、ngx_pagespeedモジュールがnginxに組み込まれていることを確認します。
nginx -V
nginx構成ディレクトリに移動します。
cd /etc/nginx/conf.d/
デフォルトの仮想ホスト構成ファイルを編集します。
vim default.conf
以下に設定を貼り付けて、ngx_pagespeedを有効にします。
pagespeed on;
# Needs to exist and be writable by nginx. Use tmpfs for best performance.
pagespeed FileCachePath /var/ngx_pagespeed_cache;
# Ensure requests for pagespeed optimized resources go to the pagespeed handler
# and no extraneous headers get set.
location ~ "\.pagespeed\.([a-z]\.)?[a-z]{2}\.[^.]{10}\.[^.]+" {
add_header "" "";
}
location ~ "^/pagespeed_static/" { }
location ~ "^/ngx_pagespeed_beacon$" { }
保存して終了します。
次に、nginx構成ファイルをテストし、エラーがないことを確認します。
nginx -t
nginxを再起動します:
systemctl restart nginx
最後に、curlコマンドを使用してnginxWebサーバーにアクセスします。
curl -I 192.168.1.6
nginx Webサーバーには、コンテンツ配信を最適化するためのさまざまなモジュールをサポートする、安定した高速のオープンソースhttpサーバーがあります。これらのモジュールの1つは、googleによって開発された「PageSpeedモジュール」です。 Apacheとは異なり、nginxモジュールは動的にロードできないため、nginxパッケージをビルドするときに目的のモジュールを選択する必要があります。