高速、軽量な HTTP サーバ(かつリバースプロキシサーバ) nginx が開発開始から9年を経て、ようやくメジャーリリース 1.0.0 公開されました。
W3Tecs によれば、Apache, IIS についで第3位の6.8%のシェアを誇るまでになったそうです。
このサイトと私がやってるフォトブログ shot.dogmap.jp も、リバースプロキシサーバとして nginx を使用しています。
nginx の導入方法として過去にも何回かエントリ書いてますので、そちらも読んでやってください。
さて nginx を CentOS 等で利用する場合、yum のリポジトリに epel を加えることで yum install nginx
でインストールできるのですが、残念ながらまだ 1.0.0 はインストールできません。
以前にも書いたんですが、最新の nginx を rpmbuild して rpm からインストールできるようにする方法を書いておきますね。
まずは rpm ビルドできる環境を用意します。
$ sudo yum install gcc rpm-build perl-ExtUtils-Embed $ mkdir $HOME/rpm $HOME/rpm/SOURCES $HOME/rpm/SPECS $HOME/rpm/BUILD $HOME/rpm/SRPMS $HOME/rpm/RPMS $HOME/rpm/RPMS/x86_64 $ echo "%_topdir $HOME/rpm" >> $HOME/.rpmmacros
続いて rpm ビルド用のソースパッケージをインストール後、nginx 最新版(1.0.0)のソースを取得。
$ wget http://download.fedora.redhat.com/pub/epel/5/SRPMS/nginx-0.8.53-1.el5.src.rpm $ rpm -Uvh nginx-0.8.53-1.el5.src.rpm $ cd ~/rpm/SOURCES/ $ wget http://nginx.org/download/nginx-1.0.0.tar.gz
spec ファイルのバージョン番号を変更。
$ cd ~/rpm/SPECS/ $ vi nginx.spec → バージョン番号とかを取得してきた nginx のバージョンに合わせて変更
こんな感じで修正します。
# vi nginx.spec
%define _unpackaged_files_terminate_build 0 <- 追加
:
Version: 1.0.0
:
#Patch0: nginx-auto-cc-gcc.patch <- コメントアウト
#Patch1: nginx-cve-2009-3555.patch <- コメントアウト
:
#%patch0 -p0 <- コメントアウト
#%patch1 -p0 <- コメントアウト
:
%build
# nginx does not utilize a standard configure script. It has its own
# and the standard configure options cause the nginx configure script
# to error out. This is is also the reason for the DESTDIR environment
# variable. The configure script(s) have been patched (Patch1 and
# Patch2) in order to support installing into a build environment.
export LANG='ja_JP.UTF-8' <- 追加
export DESTDIR=%{buildroot}[/text]
そんで、おもむろに rpm ビルド。
[shell]$ rpmbuild -bb nginx.spec[/shell]
その際「ビルド依存性の失敗」とか言われたら、足りないパッケージを yum なりなんなりでインストールしましょう。
手元の環境のさくらVPSだと、ビルド依存性の失敗はこれくらい出ました。
[text]$ rpmbuild nginx.spec
エラー: ビルド依存性の失敗:
pcre-devel は nginx-1.0.0-1.x86_64 に必要とされています
zlib-devel は nginx-1.0.0-1.x86_64 に必要とされています
openssl-devel は nginx-1.0.0-1.x86_64 に必要とされています
libxslt-devel は nginx-1.0.0-1.x86_64 に必要とされています
GeoIP-devel は nginx-1.0.0-1.x86_64 に必要とされています
gd-devel は nginx-1.0.0-1.x86_64 に必要とされています[/text]
rpm ビルドが無事に終了すると ~/rpm/RPMS に rpm パッケージができ上がるのでインストールしましょう。
[shell]$ cd ~/rpm/RPMS/x86_64/
$ sudo rpm -Uvh nginx-1.0.0-1.el5.x86_64.rpm[/shell]
こんなところです。
nginx のコンフィグファイルの書き方とかは、過去のエントリを参考にしてみてください。
ピンバック: さくらのVPSでWordPressを動かそう – 番外編 - - UKLab