nginx基本設定

nginxの設定を書いていきます。
nginxっとは軽量で高速で数年前から徐々にシェアをのばしつつwebサーバーです。

インストール

まずインストールなんですが、過去記事に書いたのでそちらの方を見てください。
webサーバー初期設定 - Linux編 - 城好きwebプログラマーの生態メモ - 仕事編

設定

実際に作成したwebアプリ「個人売買掲示板」において使った設定ファイルを使って説明します。
一部見せるとまずい部分があるのでそこは省略、改変してあります。
特定のポートでwebアプリを動かし、nginxをリバースプロキシとしてそのポートに流すということをしています。

設定ファイルの場所なんですが、/etc/nginx/conf.d/以下に.conf拡張子をつけておきます。
特殊な事情がなければ、ドメインごとに設定ファイルを作った方が管理が楽だと思います。
ファイル名も分かりやすくドメイン名を入れて。

# vim /etc/nginx/conf.d/kojinbaibai.bundlebox.jp.conf 

ファイルを開くと中身はこうなってます。

server {
    listen       80;
    server_name  kojinbaibai.bundlebox.jp;

    access_log  /var/log/nginx/kojinbaibai.bundlebox.jp/access.log main;
    error_log   /var/log/nginx/kojinbaibai.bundlebox.jp/error.log;

    proxy_set_header        Host            $host;
    proxy_set_header        X-Real-IP       $remote_addr;
    proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;

    client_max_body_size 10M;

    location ~ ^/resource/(.*) {
        alias /var/www/bundlebox/data/kojinbaibai/$1;
    }

    location /static {
        alias /var/www/bundlebox/BundleBoxKojinbaibai/BundleBoxKojinbaibai/root/static;
    }

    location /favicon.ico {
        alias /var/www/bundlebox/BundleBoxKojinbaibai/BundleBoxKojinbaibai/root/favicon.ico;
    }
	
    location / {
        proxy_pass http://127.0.0.1:1234;
    }

1つ1つ説明していきます。

listen       80;
server_name  kojinbaibai.bundlebox.jp;

これは、ポートとドメイン名になります。
ポートは普通のHTTPアクセスなら80です。
ドメイン名は取得したドメイン名を書いてください。

server_name  localhost;

もしこう書いた場合は

# hostname

で設定してあるホスト名になります。


access_log  /var/log/nginx/kojinbaibai.bundlebox.jp/access.log main;
error_log   /var/log/nginx/kojinbaibai.bundlebox.jp/error.log;

アクセスログの場所を指定してあります。
これもドメイン単位で作成しておくといいと思います。


client_max_body_size 10M;

ボディサイズの上限です。
デフォルトでは1Mになっています。
最近はスマホの写メでさえ1Mこえるので、画像、音声、動画などを使う場合は変更しましょう。


location /static {
    alias /var/www/bundlebox/BundleBoxKojinbaibai/BundleBoxKojinbaibai/root/static;
}

特定のパスにアクセスされた場合の処理になります。
上記の例で言うと、http;//kojinbaibai.bundlebox.jp/static/ 以下にアクセスされた場合、
/var/www/bundlebox/BundleBoxKojinbaibai/BundleBoxKojinbaibai/root/static/ 以下の静的ファイルにアクセスするようにしています。

location / {
    proxy_pass http://127.0.0.1:1234;
}

127.0.0.1は自アドレスなので、同じサーバーの1234ポートにアクセスを渡しています。

これらがngixnの基本設定です。
変更後は再起動することによって反映されます。

# /etc/rc.d/init.d/nginx restart


本当はプロキシキャッシュやブラウザ判別などイロイロやってるんですが、そこは別で紹介します。

ハイパフォーマンスHTTPサーバ Nginx入門

ハイパフォーマンスHTTPサーバ Nginx入門

広告を非表示にする