Директива "server" не допускается в файле /etc/nginx/nginx.conf:1

Директива "server" не допускается в файле /etc/nginx/nginx.conf:1

У меня есть контейнер NGINX docker с файлом, который nginx.confя копирую в /etc/nginx/nginx.conf. При запуске контейнера/сервера я получаю следующую ошибку:

2023/02/15 16:24:10 [emerg] 1#1: "server" directive is not allowed here in /etc/nginx/nginx.conf:1
nginx: [emerg] "server" directive is not allowed here in /etc/nginx/nginx.conf:1

Я посмотрел, и есть много сообщений об этой ошибке (конечно, для других номеров строк, чем "1"), но я не понимаю, что не так с этой конфигурацией. Насколько я понимаю, минимальная "правильная" конфигурация nginx должна иметь такую ​​структуру:

events {
    ...
}
http {
    ...
    server {
        ...
    }
}

при этом эта eventsчасть на самом деле тоже необязательна.Моя конфигурация выглядит так:

events {
  worker_connections  4096;  ## Default: 1024
}

http {
  server {
    listen 80;
    location / {
      root   /usr/share/nginx/html;
      index  index.html index.htm;
      try_files $uri $uri/ /index.html;
    }
  }
}

Я также пробовал несколько версий, удаляя что-то в каждой итерации, пока не дошел до этого (с eventsчастью и без нее):

http {
  server {
    listen 80;
    location / {
      try_files $uri /index.html;
    }
  }
}

и он все еще выдает ту же самую ошибку. Я пересобираю контейнер и копирую конфигурацию после каждого изменения, так что это не может быть так. Что я делаю не так?

решение1

Как я написал в комментарии, ошибка действительно была в том, что я неправильно пересобрал образ, в результате чего изменения так и не отобразились в конфигурации NGINX. Я каким-то образом создал образ с точно таким же именем, как тот, который я запускал, но каким-то образом он был другим по внутреннему идентификатору. TLDR: я тупой.

Связанный контент