nginx 1.2 に cache purge モジュールを入れてインストールする方法
この記事の作業はユーザーで行なって下さい。rpmbuild は root で行うとシステムにダメージを与える可能性があるそうですので、この作業は root ではなくユーザーになって行う必要があるそうです。
nginx 1.2 のインストール
ソースからインストールします。
1 2 3
yum install gcc rpm-build perl-ExtUtils-Embed mkdir $HOME/rpmbuild $HOME/rpmbuild/SOURCES $HOME/rpmbuild/SPECS $HOME/rpmbuild/BUILD $HOME/rpmbuild/SRPMS $HOME/rpmbuild/RPMS $HOME/rpmbuild/RPMS/x86_64 echo "%_topdir $HOME/rpmbuild" >> $HOME/.rpmmacros
以下から rpm の URL を取得してきます。
1 2 3 4 5 6 7
wget http://dl.fedoraproject.org/pub/epel/6/SRPMS/nginx-1.0.15-1.el6.src.rpm useradd -s /sbin/nologin mockbuild rpm -Uvh nginx-1.0.15-1.el6.src.rpm cd ~/rpmbuild/SOURCES/ wget http://nginx.org/download/nginx-1.2.0.tar.gz cd ~/rpmbuild/SPECS/ vi nginx.spec
nginx.spec は下記のように編集します。
まず、以下の行を上の方に追加。
1
%define _unpackaged_files_terminate_build 0
バージョン番号を変更します。
1
Version: 1.2.0
以下の行をコメントアウト。
1
#Patch0: nginx-auto-cc-gcc.patch以下の行をコメントアウト。
1
#%patch0 -p0
export の所に以下のように文字コードの設定を追加。
1
export LANG='ja_JP.UTF-8'
終わったら下記のようにビルドしてください。
1
rpmbuild -bb nginx.specするとこんなエラーが出ます。
1 2 3 4 5 6
error: Failed build dependencies: GeoIP-devel is needed by nginx-1.2.0-1.el6.x86_64 gd-devel is needed by nginx-1.2.0-1.el6.x86_64 libxslt-devel is needed by nginx-1.2.0-1.el6.x86_64 openssl-devel is needed by nginx-1.2.0-1.el6.x86_64 zlib-devel is needed by nginx-1.2.0-1.el6.x86_64
言われた通りにインストールします。
1
yum install GeoIP-devel gd-devel libxslt-devel openssl-devel zlib-devel再度ビルドしたら移動してインストールします。
1 2 3
rpmbuild -bb nginx.spec cd ~/rpmbuild/RPMS/x86_64/ rpm -Uvh nginx-1.2.0-1.el6.x86_64.rpm
とりあえずこれで nginx 1.2 が使えるようになります。
ngx_cache_purge のインストール
こちらから最新の ngx_cache_purge の URL を取得して、下記の手順で作業していきます。
1 2 3 4
cd ~/rpmbuild/SOURCES/ wget http://labs.frickle.com/files/ngx_cache_purge-1.5.tar.gz cd ~/rpmbuild/SPECS/ vi nginx.spec
先程追加した define の下に以下の行を追加。
1
%define ngx_cache_purge_version 1.5
Source の部分に下記の行を追加する。
1
Source10: ngx_cache_purge-%{ngx_cache_purge_version}.tar.gz
Patch0 の下らへんに下記の行を追加
1
%setup -T -D -a 10
configure らへんの所に下記の引数を追加。前の行などを見てバックスラッシュを付加したりコメントアウトを削除することを忘れずに。
1
--add-module=%{_builddir}/nginx-%{version}/ngx_cache_purge-%{ngx_cache_purge_version}
make の下にこれを入れる。
1 2
mv ngx_cache_purge-1.5/CHANGES ngx_cache_purge-1.5/CHANGES.ngx_cache_purge mv ngx_cache_purge-1.5/README.md ngx_cache_purge-1.5/README.ngx_cache_purge
doc の所にこれを入れる。
1
%doc ngx_cache_purge-1.5/CHANGES.ngx_cache_purge ngx_cache_purge-1.5/README.ngx_cache_purge
終わったら下記の手順でビルドします。
1 2 3 4 5
rpmbuild -bb nginx.spec cd ~/rpmbuild/RPMS/x86_64/ rpm -Uvh nginx-1.2.0-1.el6.x86_64.rpm /sbin/chkconfig nginx on /etc/init.d/nginx start
ちなみに新しいモジュールを入れたり、間違えた時に修正したい場合はこの手の方法で再度インストールすると思いますが、その時は以下のように一度削除します。
1
rpm -e nginx-1.2.0すると下記のように設定ファイルはバックアップされて全て消えます。
1 2
警告: /etc/nginx/nginx.conf は /etc/nginx/nginx.conf.rpmsave として保存されました。 警告: /etc/nginx/conf.d/virtual.conf は /etc/nginx/conf.d/virtual.conf.rpmsave として保存されました。
その後さっきのようにインストールすれば良いです。
1 2
cd ~/rpmbuild/RPMS/x86_64/ rpm -Uvh nginx-1.2.0-1.el6.x86_64.rpm
- さくらのVPS 乗り換え備忘録 (Nginx インストール rpmbuild 編) | Code Life
- nginx 1.0.0 が出てます : dogmap.jp
- Nginx に cache purge モジュールを追加する : dogmap.jp
- apache のかわりにnginxを使ってみる(1) nginxの最新版をインストールする | レンタルサーバー・自宅サーバー設定・構築のヒント
- apache のかわりにnginxを使ってみる(1)-3 リバースプロキシのキャッシュ削除モジュール nginx cache purge を組み込む | レンタルサーバー・自宅サーバー設定・構築のヒント
- nginxとredisのrpmを作ってみた(fedora16 x86_64用) – CubicLouve
関連記事
- nginx の text/html でエラーが発生した場合の対応方法
- さくら VPS で 静的ファイルは nginx で動的ファイルは Apache で処理するための詳細設定
- nginx のキャッシュを全て削除する方法
- nginx のバーチャルホストでキャッシュを取ることができない場合は header を確認してみる
- さくら VPS で WordPress プラグインの WP Super Cache を使えるようにする作業メモ
- nginx で特定のドメインや特定のディレクトリへの IP アドレスによるアクセス制限をする方法
- さくら VPS + CentOS のチューニングや高速化で以前試せなかった設定
- WordPress の WP Super Cache を mod_rewrite で使っている際に記事削除をする際はキャッシュファイルも削除する
- WP Super Cache を使っている WordPress をサーバー移転した時にする事
- さくらインターネットでは .htaccess に php_flag や php_value を設定すると Internal Server Error になるので php.ini で指定します
コメント
コメントは受け付けていません。