Tips

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

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

今回はNginxのWebサーバ設定をみていきます!

本連載では、Linux上で様々なサーバソフトウェアのインストール手順、操作・設定方法を解説していきます。
なるべく細かく、嵌まったポイントやコマンドなどまとめていくつもりです。参考になれば嬉しいです。

前回の「Nginx設定編②nginx.confを読む。Linuxサーバ構築手順まとめ」で、nginx.confのディレクティブを個別で見ていきました。
前回はシンプルディレクティブの説明にとどまりましたが、今回はブロックディレクティブも見ていきます。
今回取り上げるのは、Webサーバとしての設定を司るhttpディレクティブです。

httpディレクティブ

httpディレクティブの設定項目

ブロックディレクティブである「http」コンテクストのデフォルトの中身を見ていきましょう。
まず、全体を見てみます。

http {
    include /etc/nginx/mime.types;
    default_type application/octet-stream;

    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

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

    sendfile        on;
    #tcp_nopush     on;

    keepalive_timeout  65;

    #gzip  on;

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

いくつかシンプルディレクティブが指定されていることがわかりますね。
それでは、細かく各ディレクティブの内容を解説していきます。

include
上記ソースでは一番最初と一番最後に出てきますね。別ファイルを読み込みたいときに使用するディレクティブです。
2つ目のようにメタキャラクタを用いて、それにマッチするファイルは全てincludeするという書き方もありです。
また、includeされるファイルも、正しいディレクティブの記述になっていないといけません。
書式:
include ファイル名;

include /etc/nginx/conf.d/*.conf;
default_type
このディレクティブは、クライアントへのレスポンスのデフォルトMIMEタイプを設定します。
1行前でincludeしている/etc/nginx/mime.typesファイルでは、MIMEタイプを判定するtypesディレクティブが記載されているのですが、
この記載ではMIMEタイプを決定できなかったときに、本ディレクティブで指定したMIMEタイプが適用されることになります。
デフォルトは「text/plain」です。
書式:
default_type MIMEタイプ

default_type application/octet-stream;

ちなみに、上記の「application/octet-stream」というのは、任意のバイナリデータファイルを意味し、圧縮ファイルや実行ファイルなどがこのタイプに分類されることがあります。

log_format
アクセスログの記録フォーマットを指定するディレクティブです。
フォーマットはフォーマット名を指定することができ、次に登場するaccess_logディレクティブでフォーマット名を指定することで、そのフォーマットに則したログ出力が行われます。
フォーマットはシングルクォテーションで括ります。
書式:
log_format フォーマット名 ‘フォーマット’;

log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

例では「main」というフォーマット名をつけたフォーマットを指定しています(yumでインストールした場合のデフォルトの記述)が、
これに加え、デフォルトで組み込まれている「combined」と命名された次のようなフォーマットも存在します。

log_format combined '$remote_addr - $remote_user [$time_local] '
                    '"$request" $status $body_bytes_sent '
                    '"$http_referer" "$http_user_agent"';

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

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

Recent News

Recent Tips

Tag Search