Файл конфигурации 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
}
}