nginx
CentOS

CentOS 6.5でnginxを動かす為の最低限の設定

More than 1 year has passed since last update.

yumリポジトリ設定

参考:nginx: Linux packages

yumリポジトリ追加&インストール
$ sudo rpm --nosignature -i http://nginx.org/packages/centos/6/noarch/RPMS/nginx-release-centos-6-0.el6.ngx.noarch.rpm
$ sudo yum -y install nginx
$ nginx -v
nginx version: nginx/1.6.0

公式のStable versionとして1.6.0が無事インストールできました。

インストールが終わったら/etc/yum.repos.d/nginx.repoenable=0にしておいてもいいかもしれません。

初期設定

nginx設定変更
$ grep include /etc/nginx/nginx.conf 
    include       /etc/nginx/mime.types;
    include /etc/nginx/conf.d/*.conf;
$ cd /etc/nginx/conf.d
$ sudo mv default.conf default.conf.orig
$ vi default.conf
$ vi mydomain.conf

includeしている設定ファイル名を確認し、default.confはバックアップとして念のため残して(includeされないようにして)おきます。

サービス提供用には任意の(自分のドメイン名で)server_nameを提供して設定をするので、正常なアクセスとは想定されないデフォルト用として基本拒否する設定を設けておきます。

mydomain.conf
server {
    listen 80 default_server;
    server_name _;
    access_log off;
    return 444;
}

参考:nginx はどのようにリクエストを処理するか - サーバ名未定義のリクエストの処理を防ぐ

そこから新しく自分のドメイン用の設定を作成しておきます。

mydomain.conf
server {
    listen 80;
    server_name example.org;
    location / {
        root    /var/www/example.org;
        index   index.html index.htm;
    }
}

ひとまずは動作確認だけ出来れば充分な設定ということで。

ローカルディレクトリの作成

まずは公開用のディレクトリを整理しておきます。

公開ディレクトリ作成
$ sudo mkdir -p /var/www/example.org
$ sudo chown user.group /var/www/example.org
$ cd /var/www/example.org
$ cp -p /usr/share/nginx/html/index.html .

今後の整理などを考慮して、所有権などは作業用のユーザに設定しておきます。/var/www配下にディレクトリを作っているのは「何となくWeb関連のファイルってここだよね」と自分が思っているだけなので、好みに合わせてください。

動作確認用のHTMLファイルはnginxのデフォルトの物を拾っておきます。

nginxサービスの起動

という感じで動作確認します。

nginx起動
$ sudo service nginx start
nginx を起動中:                                            [  OK  ]
$ curl --head http://localhost
HTTP/1.1 200 OK
Server: nginx/1.6.0
()
$ sudo tail /var/log/nginx/*.log
==> /var/log/nginx/access.log <==
()
==> /var/log/nginx/error.log <==
()

動作確認は、正直curl打つより先にブラウザで見るほうが早いかもしれません。

自動起動設定
$ chkconfig nginx --list
nginx           0:off   1:off   2:off   3:off   4:off   5:off   6:off
$ sudo chkconfig nginx on
$ chkconfig nginx --list
nginx           0:off   1:off   2:on    3:on    4:on    5:on    6:off

無事に動作が確認できたら、自動起動の設定を入れておきます。