LINEで現役エンジニアに直接質問してみよう!登録無料

NginxをWebサーバーとして設定する

Nginxの起動が確認できたら、次にNginxの設定を行います。 Nginxの起動がまだの人は、下記の記事を参考に「インストール&起動」からしてみてください。

はじめに、Nginxの設定で一番簡単な設定例を紹介し、設定で最も基本的な「ディレクティブ」「コンテキスト」について解説します。

Nginx設定例

/etc/nginx/nginx.conf
user www-data;
worker_processes auto;
pid /run/nginx.pid;
include /etc/nginx/modules-enabled/*.conf;

events {
    worker_connections 768;
}

http {

    ##
    # Basic Settings
    ##

    sendfile on;
    tcp_nopush on;
    tcp_nodelay on;
    keepalive_timeout 65;
    types_hash_max_size 2048;
    server_tokens on;

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

    ##
    # SSL Settings
    ##

    ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # Dropping SSLv3, ref: POODLE
    ssl_prefer_server_ciphers on;

    ##
    # Logging Settings
    ##

    access_log /var/log/nginx/access.log;
    error_log /var/log/nginx/error.log;

    ##
    # Gzip Settings
    ##

    gzip on;

    ##
    # Virtual Host Configs
    ##

    include /etc/nginx/conf.d/*.conf;
    include /etc/nginx/sites-enabled/*;
}

Nginxのコンテキストとディレクティブ

Nginxの設定はすべて「コンテキスト」と「ディレクティブ」から構成されています。

コンテキストはいわゆる「ブロック」の事です。先程のNginx設定例にもあるとおり、

http {
    ...
}

がコンテキストです。

より具体的には、{から}まで囲まれている部分がコンテキストになります。

また、ディレクティブは、

worker_processes auto;

のように、具体的な設定項目のことを指します。

ディレクティブの紹介

Nginxの設定ファイルはすべて「ディレクティブ」から始まります。どのコンテキストが使えるかどうかは、ディレクティブの場所で決まります。

この記事を書いた人

自身がプログラミングを独学で勉強し始めて躓いた経験を元に、これから勉強をする人に向けに「イラスト多めでわかりやすい記事」にこだわって情報を発信しています。

現在はフルスタックエンジニアとしてサービス開発などのお仕事をしています。