ぱそくま ろご
Linux > nginx > nginxの設定

nginxの設定

nginxの設定ファイル

neginxの設定ファイルは/etc/nginx/nginx.confとなります。他のファイルもありますが、基本的にはnginx.confの一部を外だししているイメージです。

nginx.confの構成

nginx.confの書式は「<ディレクティブ> <値>;」になります。 ディレクティブの中には親要素になるものがあり、{}を使って、階層的に書きます。

nginx.confの階層構造

  • events
  • http {
    • server {
      • location{}
      }
    • }
  • mail{
    • server
    }

例:nginx.conf


user www-data;
worker_processes auto;
pid /run/nginx.pid;

#httpは親ディレクティブ
http {
  server {
    listen 80 default_server;
    listen [::]:80 default_server;

    root /var/www/html;

    location / {
      try_files $uri $uri/ =404;
    }

    location ~ \.php$ {
       include snippets/fastcgi-php.conf;
    }

  }

  #serverは複数指定可能(virtual hostなどに使用)。
  server {
    listen 80;
    listen [::]:80;

    server_name example.com;

    root /var/www/example.com;
    index index.html;

    location / {
      try_files $uri $uri/ =404;
    }
  }
}



httpディレクティブ

nginx.confで一番重要なのはhttpディレクティブで、ここにhttpとhttpsの設定を行います。 このhttpにserverを設定して、リクエストに関する設定を行う。

例:nginx http serverディレクティブ

http {
    #最低限の設定
    server {
        
        #構文:listen [<ip-address>:]80|443|...[default_server] [ssl];
        #listenで接続ポートを指定。
        #default_serverを指定するとデフォルトのホストとなる。(virtual hostにヒットしないとこれを使用)
        listen 80 default_server;

        #[]つきはIPv6のアドレス
        listen [::]:80 default_server;

        #root document-rootに相当。location毎にもrootは指定可能。
        root /var/www/html;
    }
}