LoginSignup
4
4

More than 5 years have passed since last update.

nginx1.4.1 + ngx_pagespeedをubuntuのapt管理下でソースインストール

Last updated at Posted at 2013-05-16

Amazon EC2にて借りたmicroインスタンスに上記をインストールしてみます。
nginxとgoogleがリリースしたページ表示速度高速化モジュール,
ngx_pagespeedはソースインストールでしかnginxに入れ込むことはできず、
公式でも普通にコンパイルする方法でしか紹介してません。
が、aptにはソースインストールしたものを管理する機能があるらしく、試してみました。
これができると、依存関係で苦しまないで済む気がする!

nginx最新安定版をppaから取得できる状態にする

sudo aptitude install python-software-properties
sudo add-apt-repository ppa:nginx/stable

もろもろに必要なソフトをインストール

sudo aptitude update
sudo aptitude safe-upgrade
sudo aptitude install build-essential zlib1g-dev libpcre3 libpcre3-dev unzip

nginxのソースをダウンロード(ここだけapt-getに注意)

mkdir ~/ngxsrc
cd ~/ngxsrc
sudo apt-get source nginx-full

ngx_pagespeedを持ってくる

cd nginx-1.4.1/debian/modules
wget https://github.com/pagespeed/ngx_pagespeed/archive/release-1.5.27.3-beta.zip
unzip release-1.5.27.3-beta.zip
cd ngx_pagespeed-release-1.5.27.3-beta/
wget https://dl.google.com/dl/page-speed/psol/1.5.27.3.tar.gz
tar -xzvf 1.5.27.3.tar.gz

ビルドオプションを記述する

cd ~/ngxsrc/nginx-1.4.1
nano debian/rules

nginx-fullをインストールするため、その箇所を編集
57行目に下記を追加(せっかくだからcache-purgeもインストール)
cache-purgeは既にパッケージの中に入っている

--add-module=$(MODULESDIR)/ngx_pagespeed-release-1.5.27.3-beta \
--add-module=$(MODULESDIR)/nginx-cache-purge \

以下補足。
Ubuntuのnginxパッケージでは、導入されるモジュールの数により、
nginx-light, nginx-full, nginx-extrasと別れてます。
普通は全部入りのnginx-extrasを導入すればいいのですが、
私は軽量化のため、nginx-fullを指定してビルドオプションを編集しました。
またnginx1.4で対応したので、「--with-http_spdy_module \」を追加してSPDYを有効化。
あと、メールキャッシュサーバ機能は外しました。てか、みんな使ってる?
「--with-mail \」「--with-mail_ssl_module \」を#でコメントアウト。

ビルド前に必要パッケージを揃えてからビルド
(ビルドはec2.microだと超時間かかる。1時間以上かも)

sudo apt-get build-dep nginx
sudo dpkg-buildpackage -b

生成されたdebをインストール

cd ..
sudo dpkg --install nginx-common_1.4.1-1ppa1~precise_all.deb nginx-full_1.4.1-1ppa1~precise_amd64.deb nginx_1.4.1-1ppa1~precise_all.deb

モジュールが入ったか確認してみる

nginx -V

「--add-module=/home/ubuntu/ngxsrc/nginx-1.4.1/debian/modules/ngx_pagespeed」が
出力結果に入っていたら成功!

/etc/nginx/nginx.conf 、/etc/nginx/sites-available/default などを
ご自身の環境に合わせ編集し、サービス再起動しましょう!
(apt管理外インストールだとinit.dも自分で用意せにゃならんから凄く面倒だった…)

sudo service nginx restart
4
4
5

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
4