nginx.confの構造について学んだ
nginx.confのブロック構造について
- nginx.confはブロック構造になっている
- ブロックは大きく分けて3つある
ブロック名 | 説明 |
---|---|
http | 設定ファイルのルートに設定する(nginx.confとかに)。http関連のモジュールがディレクティブやブロックなどを定義している。 |
server | webサイトを宣言している。バーチャルホストの設定をNginxに認識させている。このブロックはhttpブロック内でしか使えない |
location | webサイトの特定の位置にだけ適用される設定を記述する。serverブロック内でしか使えない |
構造をイメージ図で覚える
- httpブロックがserverブロックを囲んでいる
- serverブロックがlocationブロックを囲んでいる
まとめ
- httpブロック
- 全てのブロック親
- nginx.confに書いてね
- http関連のものはここに書いてね
- ブロックの一番大きい枠になるよ
- インクルードはこのブロック内に記述する
- serverブロック
- httpブロックの子ブロック
- バーチャルホストの設定はここで書くよ
- httpブロックの中でしか使えないから気をつけてね
- locationブロック
- serverブロックの子ブロック
- バーチャルホスト等の中で指定したディレクトリにだけ修飾子を与えることができる(パターンマッチなど)
- serverブロック内か他のlocationブロック内で記述する
httpブロック内で記述した設定は継承されるので注意する点
- httpブロック内で記述した設定は内部のserverとlocationにも反映される
- 一部にだけ反映させたい場合はlocationブロック内で指定して記述する
おもったこと
- locationブロックの役割がふんわりわかった
- 実例がないとあんまり他のブロックに比べて重要性がわからない