LoginSignup
9
7

More than 3 years have passed since last update.

Nginxの名前の由来と設定ファイルの書き方、locationの書き方

Last updated at Posted at 2020-10-01

はじめに

はじめまして、youtuber系エンジニアのやっすんです!

今回、以下の内容について説明します。

  • Nginxとは
  • 設定ファイルの基礎
  • locationの書き方

同内容はYoutubeでも説明しているので、ぜひチェックしてみてください!

【YouTube動画】NGINXの設定ファイルの基礎、locationの書き方
設定ファイルの基礎、locationの書き方

Nginxとは

Nginxはエンジンエックスと発音します。

名前の由来は、何らかのエンジンであるという意味
Ngin (engine)をエンジンと読むアイデア
さらに、UNIXみたいにトレンドさをつけるため、最後にxをつけて、Nginxとしたそうです。

[参考]
[1] https://www.nginx.com/company/the-nginx-name
[2] https://thinkit.co.jp/story/2014/06/18/5060

設定ファイルの基礎

Nginxでは、ディレクティブという要素で設定を書いていきます。
ディレクティブには「;」 (セミコロン) と「{...}」 (波括弧, ブロック) を使うことができます。
特に、波括弧で囲ったディレクティブはコンテキストと呼びます。

外観は外側から、main, http, server, locationのように階層構造になっています。
Nginxでは、includeで別ファイルの設定を読み込むこともできるので、実際に設定を触るときはserver以下を触ることが多いです。

nginx.conf
# mainコンテキスト
# worker数や実行ユーザーを記述する
worker_processes  1;

# コネクション数の制限などを設定できる
events {
  worker_connections  1024;
}

# Webサーバー全体の設定
# アクセスログの形式、保存場所も指定できる
http {
  include       mime.types;
  default_type  application/octet-stream;

  sendfile        on;
  keepalive_timeout  65;

  #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  logs/access.log  main

  # バーチャルサーバーの設定
  # ホスト名、IPアドレス、ポートによって何を配信するかを設定できる
  server {
    listen       80;
    server_name  localhost;

    # 1つのバーチャルサーバー内でのパス毎の設定
    location / {
      root   html;
      index  index.html index.htm;
    }

    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
      root   html;
    }
  }
}

[参考]
[1] https://github.com/nginx/nginx/blob/master/conf/nginx.conf
[2] 『Nginx実践入門』 久保達彦, 道井俊介 著

locationの書き方

serverコンテキスト内で記述するlocationコンテキストには、5つの書き方が存在します。
また、識別子が同じ場合は、最長一致で判断されます。

識別子 意味
= 完全一致 location = test
~ 正規表現 (case-sensitive) location ~ test
~* 正規表現 (case-insensitive) location ~* test
なし 前方一致 location test
^~ 前方一致 location ^~ test

まとめ

今回はNginxの名前の由来に触れ、設定ファイルの構成やlocationを紹介しました。
locationの書き方は間違えやすいので、別動画・別記事で再度詳しく説明します!

何か間違いや指摘がありましたら、コメントよろしくお願いします。

twitteryoutubeでのコメントもお待ちしています!

9
7
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
7