/etc/nginx/nginx.conf:1 中不允許使用「server」指令

/etc/nginx/nginx.conf:1 中不允許使用「server」指令

我有一個 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 配置中。我以某種方式建立了一個與我開始的圖像名稱完全相同的圖像,但它在內部的 ID 是不同的。太長了;我很笨。

相關內容