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
を修正します。
# 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指定をしています。
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本体と設定ファイルの配置先が、デフォルトインストールだとスクリプトに記載されているパスと異なるため、手作業で修正します。
...中略
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
参考
以下を参考にさせていただきました。
ありがとうございました。