Файл конфигурации Nginx#

Порядок работы Nginx и его модулей определяется в конфигурационном файле nginx.conf, который расположен в каталоге /etc/nginx/.

Конфигурационный файл включает в себя директивы и соответствующие им параметры.

Директивы могут быть:

  • простые (однострочные) — заканчиваются точкой с запятой (;);

  • блочные — выступают в роли «контейнеров», которые объединяют связанные директивы c помощью фигурных скобок ({}).

Пример простых директив:

user             nobody;
error_log        logs/error.log notice;
worker_processes 1;

Пример блочной директивы:

server {
    listen 80;
    server_name www.example.com example.com;
 
    location /app {
       proxy_pass http://<ip-address_1>:<port>;
    }
}

Директивы в конфигурацинном файле Nginx объединяются в блоки, которые называются контекстами. Эти контексты группируют настройки, применяемые к разным типам трафика или различным аспектам работы сервера. Например, существуют контексты для HTTP-запросов, почтовых прокси-серверов и других сценариев. Такая структура позволяет гибко управлять конфигурацией и настраивать поведение сервера в зависимости от конкретных задач.

Список контекстов:

  • events - общая обработка соединений;

  • http - HTTP-трафик;

  • mail - почтовый трафик;

  • stream - трафик TCP и UDP.

Пример конфигурационного файла по умолчанию:

nginx.conf:

user nobody; # Директива в контексте 'main'

events {
    # Конфигурация обработки соединений
}

http {
    # Конфигурация, специфичная для HTTP и влияющая на все виртуальные серверы

    server {
        # Конфигурация виртуального HTTP-сервера 1
        location /one {
            # Конфигурация для обработки URI, начинающихся с '/one'
        }
        location /two {
            # Конфигурация для обработки URI, начинающихся с '/two'
        }
    }

    server {
        # Конфигурация виртуального HTTP-сервера 2
    }
}

stream {
    # Конфигурация, специфичная для TCP/UDP и влияющая на все виртуальные серверы
    server {
        #  Конфигурация виртуального TCP-сервера 1
    }
}