nginxのインストール

以前から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
同じタグの記事: Linux
同じタグの記事: nginx
同じカテゴリの記事: Linux