57
56

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Nginxインストールメモ

Last updated at Posted at 2014-11-16

Nginxを使うことになりまして。
とりあえずインストールしてみた次第です。

yumでいいだろうとは思ってますが、ついでなのでソースビルドでもインストールしてみました。

環境は以下のとおりです。
OS : CentOS 6.5 64-bit

NginxはStable versionとMainline verionがありますが、Mainlineのほうがバグ修正などが頻繁に取り込まれているようなので、そちらを利用します。

yumでインストール

リポジトリ登録

公式ページから、使用するOSに該当するリポジトリのURLを探します。
今回はCentOS 6.x系となるので
http://nginx.org/packages/centos/6/noarch/RPMS/nginx-release-centos-6-0.el6.ngx.noarch.rpm
を使用します。

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

Mainline Versionの参照

先程入れたリポジトリの状態はStable versionをインストールするようになっているため、
手作業で/etc/yum.repos.d/nginx.repo を修正します。

/etc/yum.repos.d/nginx.repo(修正後)
# nginx.repo

[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/mainline/centos/6/$basearch/
gpgcheck=0
enabled=1

インストール

yumでインストールします。

# yum install nginx

インストールが完了すれば、serviceで起動/停止できます。

# service nginx start 
nginx を起動中:                                            [  OK  ]

自動起動も設定しておきましょうか。

# chkconfig nginx on

ソースビルドでインストール

必要となるライブラリのインストール

もともと入っているものもあると思いますので、適宜端折ってください。

GCC

説明の必要ないと思いますが、入ってない場合は入れましょう。
yum install gcc

PCRE

perl互換の正規表現ライブラリだそうです。
yum install pcre pcre-devel

zlib

gzip圧縮をするために必要になります。
yum install zlib zlib-devel

OpenSSL

SSLライブラリも必要になります。
yum install openssl openssl-devel

Nginx用ユーザ作成

手動で作成する必要があります。

useradd --shell /sbin/nologin nginx

※ yumでインストールすると自動で作成されます。

Nginxのダウンロード

公式ページから、使用したいもののURLを取得します。
今回は、Mainlineの1.7.7を使用することにしました。

# wget http://nginx.org/download/nginx-1.7.7.tar.gz
...中略
# tar xvzf nginx-1.7.7.tar.gz
...中略
# cd nginx-1.7.7

ビルド・インストール

configureのオプションは色々あるようでしたが、HTTPサーバとして使用するだけであれば、
SSLとReal IPのモジュールだけ有効化しておけばよさそうでした。

# ./configure --user=www-data --group=www-data --with-http_ssl_module --with-http_realip_module

make installします。

# make
...中略
# make install
...中略

/usr/local/nginx/にインストールされます。

/usr/local/nginx/conf/nginx.confのuserディレクティブが
コメントアウトされた状態になっているのですが、このままだとworkerプロセスの起動でコケました。
そのため、手作業で以下のようにuser指定をしています。

/usr/local/nginx/conf/nginx.conf(修正後)
user  nginx nginx;
...後略

initスクリプト作成

http://wiki.nginx.org/RedHatNginxInitScript
にスクリプトがあるので、/etc/init.d/nginxを作成して、上記スクリプトの内容を貼り付けます。
※ 2017/3/23追記
上記はリンク切れを起こしてました。
現在はこっちに移行したようです。
https://www.nginx.com/resources/wiki/start/topics/examples/redhatnginxinit/

Nginx本体と設定ファイルの配置先が、デフォルトインストールだとスクリプトに記載されているパスと異なるため、手作業で修正します。

/etc/init.d/nginx(修正後)
...中略
nginx="/usr/local/nginx/sbin/nginx"
...中略
NGINX_CONF_FILE="/usr/local/nginx/conf/nginx.conf"
...後略

/etc/init.d/nginxに実行権限を付与します。

# chmod +x /etc/init.d/nginx

これで、serviceで起動/停止できます。

# service nginx start 
nginx を起動中:                                            [  OK  ]

自動起動も設定しておきましょうか。

# chkconfig nginx on

参考

以下を参考にさせていただきました。
ありがとうございました。

57
56
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
57
56

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?