root

Директива 'root' указывает корневой каталог файлов, которые NGINX обслуживает для 'location' или 'server block'. — NGINX HTTP Core

root
httpserverlocationif in location
Синтаксисroot path;
По умолчаниюnone
Контекстhttp, server, location, if in location
МодульNGINX HTTP Core
Аргументы1

Описание

Директива 'root' в NGINX используется для установки пути в файловой системе, из которого файлы будут отдаваться сервером или контекстом 'location'. Когда приходит запрос к ресурсу (например, HTML-файлу или изображению), NGINX формирует итоговый путь к файлу путем конкатенации аргумента, указанного в директиве 'root', с URI запроса. Например, если директива 'root' настроена как `/var/www/html` и пользователь запрашивает `/images/photo.jpg`, NGINX будет искать файл по пути `/var/www/html/images/photo.jpg`. Это позволяет отдавать статические файлы из определённой структуры каталогов на диске. Директиву можно размещать в разных контекстах, включая 'http', 'server', 'location', и даже внутри 'if' в контексте 'location'. Когда в разных контекстах указано несколько директив 'root', приоритет будет у наиболее специфичной директивы. Важно помнить, что если запрос соотносится с директорией, а не с файлом, NGINX добавит завершающий слэш к URI и будет искать файл 'index' (как определено директивой 'index') в этой директории. Кроме того, директива 'root' предназначена для статического контента, поэтому динамический контент, например предоставляемый скриптами или, возможно, проксируемыми запросами, не будет использовать эту директиву для поиска файлов.

Пример конфига

server {
    listen 80;
    server_name example.com;

    root /usr/share/nginx/html;
    index index.html index.htm;

    location /images/ {
        # Specific location
        root /usr/share/nginx/images;
    }
}

Директива 'root' работает только для отдачи файлов; не используйте её для proxy_pass или других динамических ответов.

Обращайте внимание на все активные директивы 'root' в иерархии, так как они могут конфликтовать или переопределять друг друга.

Убедитесь, что указанный путь имеет корректные права доступа для пользователя NGINX, чтобы он мог читать файлы.