Nginx設定編②nginx.confを読む。Linuxサーバ構築手順まとめ
今回はNginxの設定ファイルを見ていきます!
本連載では、Linux上で様々なサーバソフトウェアのインストール手順、操作・設定方法を解説していきます。
なるべく細かく、嵌まったポイントやコマンドなどまとめていくつもりです。参考になれば嬉しいです。
前回の「Nginx設定編① Linuxサーバ構築手順まとめ」で基本操作を説明してきました。
今回からは、設定ファイルを実際に参照・編集していきます。
Nginxの設定ファイル:nginx.conf
nginx.confの配置場所
Nginxの設定ファイルはnginx.confと言われるファイルになります。Apacheで言うところのhttpd.confのようなものです。
httpd.conf同様、includeディレクティブで別のファイルを読み込むことができますので、このファイルのみに全てが書かれているわけではありませんので、注意します。nginx.confはインストール方法によりけりですが「/usr/local/nginx/conf」「/etc/nginx」「/usr/local/etc/nginx」といったディレクトリに配置されています。
パッケージ管理ツールでインストールした場合は「/etc/nginx」、
ソースからインストールした場合は「/usr/local/etc/nginx」が一般的でしょう。
nginx.confを開きます。
# cat /etc/nginx.conf
nginx.confの書式:ディレクティブ
nginx.confの内容はあるルールに則って記載されています。
Apacheと似ている部分も多いので、Apacheをいじったことのある方は、とっつきやすいかもしれません。
まず、ディレクティブという考え方を理解しておく必要があります。
ディレクティブとは、指示・命令といった意味ですが、要は設定内容の括りのようなものです。
nginx.confの設定内容は、次の2種類のディレクティブに分類できます。
記載ルール:
ディレクティブ名とパラメータがスペース区切りで定義されたセミコロンで終わる。
例:
user nginx; worker_processes 1;
記載ルール:
・パラメータ部分が中括弧(「{ 」と「}」)で括られている。
・中括弧の間には、シンプルディレクティブが記載できる。
・ブロックディレクティブの中にブロックディレクティブを入れ子にすることもできる。その場合、それらはコンテクストと言う。
例:
http { include /etc/nginx/mime.types; ~省略~ server { listen 80; server_name localhost; ~省略~ location / { root /usr/share/nginx/html; ~省略~ } } }
どのコンテクストにも属さない、つまり一番外側に位置しているディレクティブは、mainコンテクストに属しているという風に言えます。
ディレクティブの構造についてしっかり理解しておきましょう。