以前からnginxには興味があったので調べてみました。nginxのInstallページに、インストール方法について説明があります。
リポジトリの用意
CentOSでは、「/etc/yum.repos.d/nginx.repo」を次の内容で用意すれば簡単にインストールができます。
[nginx] name=nginx repo baseurl=http://nginx.org/packages/centos/$releasever/$basearch/ gpgcheck=0 enabled=1
nginxの公式リポジトリはhttp://nginx.org/packages/centos/6/noarch/RPMS/nginx-release-centos-6-0.el6.ngx.noarch.rpmにあるので、次のコマンドを用意して実行して登録することもできるようです。
#!/bin/sh urlBase=http://nginx.org/packages/centos/6/noarch/RPMS url=${urlBase}/nginx-release-centos-6-0.el6.ngx.noarch.rpm sudo rpm -ivh ${url}
少しバージョンが古いですが、epelリポジトリにもnginxはあるので、そちらを利用することもできます。
ここで、nginx以外でepelで使いたいアプリがあると、epelとnginxの両方のリポジトリを利用する設定としたい場合があるでしょう。そういう場合は、epelのリポジトリ設定/etc/yum.repos.d/epel.repoでは exclude=nginx として、nginxを対象外としておけば、epelとnginxのリポジトリを両方とも有効にしておくことができます。
$ sudo cat /etc/yum.repos.d/epel.repo [epel] name=Extra Packages for Enterprise Linux 6 - $basearch #baseurl=http://download.fedoraproject.org/pub/epel/6/$basearch mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-6&arch=$basearch failovermethod=priority enabled=1 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6 exclude=nginx (略)
リポジトリからのインストール
nginx、epelどちらのリポジトリを使うにしても、インストールは簡単で、下記のようになります。
$ sudo yum -y install nginx
ソースコードからのインストール
ソースコードの最新版は2013-05-09時点で1.4.1でした。「http://nginx.org/download/nginx-1.4.1.tar.gz」からダウンロードができます。ソースコードからインストールする場合は zlib, OpenSSLのライブラリはあらかじめインストールしておくと良いでしょう。zlibやOpenSSLの機能を使わない場合は不要ですが、普通は使うでしょう。
$ sudo yum install pcre pcre-devel $ sudo yum install zlib zlib-devel $ sudo yum install openssl openssl-devel
ソースコードをダウンロードしたら、次のようなスクリプトinstall_nginx_1.4.1.shを用意して実行すると、コンパイルとインストールができます。
#!/bin/sh cd /usr/local/src wget http://nginx.org/download/nginx-1.4.1.tar.gz tar xzf nginx-1.4.1.tar.gz cd nginx-1.4.1 ./configure --prefix=/usr/local/nginx-1.4.1 make make install
サードパーティモジュール
nginxにサードパーティモジュールを組み込むこともできます。その場合は、次のような感じで使用するモジュールを一緒にコンパイルしてインストールすることになります。
$ tar xzf echo-nginx-module-master.tar.gz -C /usr/local/src $ cd /usr/local/src/nginx-1.4.1 $ ./configure \ --prefix=/usr/local/nginx-1.4.1 \ --add-module=../echo-nginx-module-master $ make $ sudo make install
nginxの起動停止
nginxを起動したり停止したりする方法は次のようになります。
起動
$ sudo nginx
リクエストを終了したプロセスから停止
$ sudo nginx -s quit
停止
$ sudo nginx -s stop
設定の確認
$ sudo nginx -t
設定の再読み込み
$ sudo nginx -s reload
CentOS へepelに含まれるnginxのパッケージをインストールすると、起動用コマンドでは、次のようなオプションが使えるようになっています。順に、起動、停止、設定の確認、設定の再読み込み、nginxアップグレード。
$ sudo service nginx start $ sudo service nginx stop $ sudo service nginx configtest $ sudo service nginx reload $ sudo service nginx upgrade
CentOSでの自動起動の登録は下記のコマンドでできます。
$ sudo chkconfig nginx on
Apacheのアンインストール
Apache HTTP Serverを使わない場合は、アンインストールしておきます。
$ sudo yum remove httpd $ sudo yum remove httpd-tools