Tips

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

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の設定をテーマ立ててやっていきたいと思います。
そこで新たに登場するディレクティブは、都度説明していくことにします。

Linux認定資格 LPICを取るなら・・

Linux資格 「LPIC Lv1」徹底解説 連載目次

Recent News

Recent Tips

Tag Search