Server Build Exercises on AWS (Amazon Web Services) 2022 edition

nginx設定の基礎

nginxの設定の基礎を解説します。

ちなみに、本構築ガイドでは、デフォルトの設定ファイルを変更していません。 設定ファイルを追加しているだけです(後述)。

デフォルトでは、設定ファイル群が/etc/nginx/以下に配置されます。

nginxは/etc/nginx/nginx.confだけを読みこみますが、 このファイルから多くのファイルを include しています。

/etc/nginx/nginx.conf の解説

ゼロから書き下す人はいないでしょうから、 こういうスタイルだと理解してもらえば十分でしょう。 定番の設定を追加するか、該当する値を変更するだけなら、 これだけわかっていれば大丈夫ではないかと…

基本的な文法

まず#はコメントなので、以下、てきとうに省略していきます

# #より右側はコメント

include ファイル命令はファイルを読み込みますが、 ファイル部分はシェルのパターン(例: *.conf は拡張子が.confのファイルすべて)が使えます

include /usr/share/nginx/modules/*.conf;

この構文は、 /usr/share/nginx/modules/ディレクトリにある拡張子がconfのファイル群をすべて読みこみます

BINDの設定ファイル風の次のようなスタイルで書きます

タイプ {
    変数 値;
}

(Unixのシェルのように)値は$変数 で展開可能です

/etc/nginx/nginx.conf 概略

Amazon Linux 2 の /etc/nginx/nginx.conf は次のようになっています

user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log;
pid /run/nginx.pid;
  • 1行目: nginxプロセスはユーザ nginx の権限で動かします
  • 3行目: エラーは/var/log/nginx/error.logファイルに書きこみます
include /usr/share/nginx/modules/*.conf;

/usr/share/nginx/modules/ディレクトリにある拡張子がconfのファイル群をすべて読みこみます

http {
   ... たくさんの設定 ...
}

はHTTPプロトコルの設定つまりWWWサーバの中核部分です。

    access_log  /var/log/nginx/access.log  main;

アクセスログは/var/log/nginx/access.logファイルに書きこまれます

    include /etc/nginx/conf.d/*.conf;

ユーザがカスタマイズした設定を置くディレクトリ、重要な設定です。 /etc/nginx/conf.d/ディレクトリにある設定(拡張子がconfの)ファイル群を読みこみます。 本構築ガイドでは、 /etc/nginx/conf.d/ingress.confファイルを作成し、 リバースプロキシの設定をnginxに読みこませています。

ユーザのカスタマイズ設定を読みこんだあとに、 デフォルトの 80/tcp を listen するといった設定が続いています

    server {
        listen       80;
        listen       [::]:80;
        ... 省略 ...
Last updated on 12 Dec 2021
Published on 12 Dec 2021
Copyright (C) 2021-2022 Ken'ichi Fukamachi, All rights reserved. CC BY-NC-SA 4.0
We appreciate AWS Academy Japan for the offer of the learning environment.

Powered by Hugo. Theme by TechDoc. Designed by Thingsym.