Nginx設定編⑤locationディレクティブを読む。Linuxサーバ構築手順まとめ

この記事は2014年9月25日に書かれたものです。内容が古い可能性がありますのでご注意ください。


locationディレクティブ内の設定項目

それでは、locationディレクティブ内で定義されているディレクティブを見ていきましょう。

root
ドキュメントルートを指定するディレクティブです。
書式:
root ドキュメントルートパス;

location / {
root /usr/share/nginx/html
~省略~
}

URIが「/xxx.html」でアクセスされてきた場合、
サーバフルパスでは「/usr/share/nginx/html/xxx.html」を参照しているということになります。
この記述では、リクエストURIはrootで指定されたフルパスの末尾にくっつくだけですが、「/」配下のディレクトリを指すようなURI(例えば「/sample/」)は「location /」で設定しているrootとは異なるディレクトリを参照したいという場合は、「root」ではなく「alias」ディレクティブで指定しましょう。

index
指定URIがディレクトリ指定で終わっている場合に補足するファイル名(そのディレクトリ内のindexファイル)を指定するディレクティブ。
書式:
index ファイル名;

location / {
~省略~
index  index.html index.htm;
}

一般的にはindex.html、index.htmを指定することが多いでしょう。phpが考えられるようであればindex.phpなども考えられます。
複数指定可能で、スペース区切りで指定します。上記例の場合、index.html、index.htmが両方存在する場合には、先に記述されているindex.htmlが優先されます。

proxy_pass
プロキシを利用する場合のプロキシのURLまたはIPアドレスと、オプションでポート番号を指定するディレクティブ。
httpとhttpsに対して指定できます。
書式:
proxy_pass プロキシURL;

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

プロキシ設定はいずれやっていきたいと思います。

fastcgi_pass
fastCGIサーバを使用するときに設定するディレクティブ。
書式:
fastcgi_pass fastCGIサーバURL;

location / {
   fastcgi_pass localhost:9000;
}

Nginxは、デフォルトで動的レスポンスをサポートしないため、PHPなどを使用するためにはfastCGIを使用する必要があります。
fastCGIの設定は別途行うため、ディレクティブの説明はその際に譲ることにします。

今回のまとめ

今回はlocationディレクティブについて説明をしてきました。
locationディレクティブはリクエストに応じて設定をしていくことができるWebサーバとしてはかなり重要な機能を担当しているディレクティブになります。
今回で一旦各設定ファイルのディレクティブ説明は終了となります。次回以降は、Nginxの設定をテーマ立ててやっていきたいと思います。
そこで新たに登場するディレクティブは、都度説明していくことにします。

ページ:
1

2

  • このエントリーをはてなブックマークに追加

PAGE TOP