Nginxの最新版ソースから バイナリパッケージ(rpm)を作成し、インストールする
今回は、nginxを試してみたいと思います。
ちょっと前に、バージョン 0.xx から バージョン 1.xx へメジャーバージョンアップ(2011.06現在 version 1.0.42011.11現在 version 1.0.10) したこともあって、かなり日本でも有名になってます。
以前は、軽量ウェブサーバーが前面に出ていて、lighttpd(ライトティーピーディー; “Lighty”とも呼ばれる)などと比較されたこともありましたが、
サーバーのコンセプトからするとかなり違います。そのため、今では、比較の対象にもなりません。
さらには、ウェブサーバーのシェアも第3位(6%)と上位へランクインしています。
ちなみに第1位は、Apache (66%)、第2位は、Micorsoft IIS(16%)です。
nginx(「エンジンエックス」と発音) は、
軽量高性能なWebサーバ/リバースプロキシであり、同時に電子メール(IMAP/POP3)プロキシである。BSD系ライセンスでリリースされている。
Unix系、Linux、BSD系、Mac OS X、Solaris、Microsoft Windows(Cygwinを使用)で動作する。Windowsで直接動作するバージョンは実験的にリリースされており、開発中である。
(出展:ウィキペディア)
lighttpd (ライトティーピーディー; “Lighty”とも呼ばれる)は、
高速性が重視される環境に最適化された、安全、高速で標準に準拠し、柔軟であることを指向して設計されたWebサーバソフトウェアである。
メモリの消費量が少なく、CPUへの負荷が少ない高速な動作が目的となっているため、サーバの負荷が問題になっている場合や画像などの静的なコンテンツを動的なコンテンツと区別して送信する場合などに適しているとされる。 lighttpdはフリーソフトウェア、オープンソースソフトウェアであり、BSDライセンスで配布されている。
(出展:ウィキペディア)
nginxの特徴は、なんと言ってもリバースプロキシです。
キャッシュ機能があるので、これを使うとWordpressなどの動的なページを一時キャッシュすることで、かなりの高性能が期待できるのが特徴です。
ただ、あくまでキャッシュなので、コメントや必ず動的に動かさないといけないページなどがある場合は、それなりに設定が必要になります。
今回は、まず、最新のnginxを使ってウェブサーバー機能を構築してみます。
nginxの最新rpmを作成する
CentOS(Redhat系)用に rpmもあります。ただ、これは、かなり古いものです。
そのため、古いソースコードのrpmから、最新のnginxへrpmを作ってみます。
現在(2011.11)では、最新のCentOS用のrpmがnginxのホームページで公開されています。
そのため、nginxのホームページから最新版をrpmでインストールすることもできます。
詳しくは、
Nginxを公式サイトから最新版をインストールする(CentOS/ScientificLinux編) を参照してください。
yumコマンドで簡単に最新版をインストール・アップデートできるようになります。
また、リバースプロキシー(reverse proxy server)としてnginxを利用する場合のキャッシュ削除モジュール
nginx cache purge を組み込みたい場合は、
を参照してください。
- nginxのソースrpmパッケージをダウンロードし、インストールします。
$ wget http://dl.fedoraproject.org/pub/epel/5/SRPMS/nginx-0.8.55-1.el5.src.rpm
...
$ mkdir /usr/src/redhat
$ mkdir /usr/src/redhat/SOURCES
$ mkdir /usr/src/redhat/SPECS
$ mkdir /usr/src/redhat/RPM
$ rpm -ivh nginx-0.8.55-1.el5.src.rpm
...
警告: グループ mockbuild は存在しません - root を使用します
警告: ユーザ mockbuild は存在しません - root を使用します
...
|
インストール先は、
/usr/src/redhat/の配下になります。
/usr/src/redhat/SOURCES : ソースコード
/usr/src/redhat/SPECS : rpm作成ファイル (specファイル)
/usr/src/redhat/RPM : rpm出力先ディレクトリ
今回は、ダウンロード先に、http://dl.fedoraproject.org/pub/epel/5/SRPMS/を使いました。
- ソースコードのディレクトリに最新のnginxのソースコードをダウンロードします。
$ cd /usr/src/redhat/SOURCES
$ wget http://nginx.org/download/nginx-1.0.10.tar.gz
...
|
必ず、/usr/src/redhat/SOURCESにtar.gz形式の最新ファイルをダウンロードします。
nginxの最新版は、http://nginx.org/download/で公開されています。
- rpm作成ファイル (specファイル)を編集します。
$ cd /usr/src/redhat/SPECS
$ cp nginx.spec nginx.spec.org
$ vi nginx.spec
|
以下は、nginx.specの編集内容です。
...
Version: 1.0.10
...
...
...
export LANG='ja_JP.UTF-8'
export DESTDIR=%{buildroot}
...
|
編集を終えたら、保存します。
- rpmを作成します。
$ rpmbuild -bb nginx.spec
...
|
rpmbuildでrpm作成します。
これでエラーが出なければOKです。
作成されたRPM ( nginx-1.0.10-1.xxxx.rpm )は、
64bitOSなら、/usr/src/redhat/RPMS/x86_64に作成されます。
32bitOSなら、/usr/src/redhat/RPMS/i386に作成されます。
そもそも、
rpmbuildが動作しない場合は、
$ yum -y install yum-utils
$ yum -y install rpm-build
$ yum -y install gcc++
|
のような必要なビルド環境をインストールしてください。
また、必要なライブラリが不足している場合は、その必要なライブラリが表示されますので、yumで一つ一つインストールすればOKです。
nginxをインストールする
rpmさえできれば、インストールは簡単ですね。
以下は、64bit版のnginxをインストールした例です。
$ cd /usr/src/redhat/RPMS/x86_64
$ rpm -Uvh nginx-1.0.10-1.x86_64.rpm
...
|
これでインストールまでOKです。
簡単だったですね。
最後に、既にapacheが起動中なら、apacheを停止して、nginxを起動すればOKです。
$ /etc/init.d/httpd stop
stop を停止中: [ OK ]
$ /etc/init.d/nginx start
nginx を起動中: [ OK ]
|
IPアドレスでOKなので、ウェブブラウザからサイトへアクセスしてみてください。
以下のような画面が表示さればOKです。ちゃんと動いています。
デフォルトの設定では、ウェブサイトのルートディレクトリは、
/usr/share/nginx/html/
を指しています。
この中のindex.htmlを変更して、ちゃんと表示されるか確認しましょう。
今回は、設定も何もせずにここまでです。
特に何もしないでも、とりあえず、上記の感じで動作まではします。
次回は、PHPと連動させてます。
PHPは、あえて5.2系を使いますので、nginxの時と同じようにPHP-FPM対応のrpmを作成してnginx+PHP-FPMで動作させてみます。
ご利用のブラウザは、広告ブロック(AdBlockなど) が適用となっていませんか?
このサイトでは、コンテンツの一部が非表示、あるいは、コメント、お問い合わせの投稿ができない、検索ができないことがあります。
関連記事 :
2011年7月2日, 8:32 PM
[…] apache のかわりにnginxを使ってみる(1) nginxの最新版をインストールする […]
2012年5月22日, 10:00 AM
[…] […]