広告の限界を超える|セールス
広告の限界を超える|セールス
2012.07.25

大きな負荷に耐える!CentOS 6.2で構築する、ハイパフォーマンスなNginxサーバーについて

tetsu

こんにちは。tetsuです。今回はCentOSでNginx(エンジンエックス)サーバーを構築する方法について紹介したいと思います。
NginxはDropBoxWordPressなど有名なサイトで導入されていて、パフォーマンスがApacheに比べて良いとされています。

Nginx(エンジンエックス) wikiはこちら

まずはインストール手順を簡単に。。。

yumからNginxをインストール

初期のCentOSではレポジトリ先にNginxが無いのでyumからNginxをインストールすることはできません。

レポジトリにNginxを追加するには以下のサイトからRPMファイルをダウンロード&インストールすることで、yumからNginxをインストールすることができます。

RPM取得先

リンク先の以下の場所から対象のOSを選んでダウンロードしてください。

例)CentOS 6用のレポジトリRPMを取得

wget http://nginx.org/packages/centos/6/noarch/RPMS/nginx-release-centos-6-0.el6.ngx.noarch.rpm

ダウンロード後、RPMファイルをインストール

rpm -ivh nginx-release-centos-6-0.el6.ngx.noarch.rpm

RPMのインストールが完了したら、yumからNginxをインストール

yum install nginx
---中略---
Installed:
 nginx.x86_64 0:1.2.2-1.el6.ngx

Complete!

Nginxを起動

インストールが完了したら、さっそく起動。

/etc/init.d/nginx start

・・・が失敗。
次のようなエラーが出た場合はApacheが起動しているのでApacheを停止して再度トライ!

Starting nginx: nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] still could not bind()

Apacheの停止後、Nginxの再起動

/etc/init.d/nginx start
/etc/init.d/httpd stop

無事に起動し、実際にアクセスして次のように表示されたらNginxサーバーの構築が完了です!とりあえず最初の段階はここまで。

Welcome to nginx!

最後に

Nginxの導入も少しずつ増えてますが、負荷がかかるWebサイトの場合はNginxを利用するのも手ですね。パフォーマンス比較をされている方もいらっしゃるので、ご参考に。
mod_php(Apache)とspawn-fcgi(nginx)でのパフォーマンス比較