Nginx 在子文件中使用相同的键重写父规则?

Nginx rewrites parent rules with same key in sub-files?

访问/etc/nginx/nginx.conf文件我有以下规则:

server {}
http {

    access_log   logs/access.log  main;
    error_log    logs/error.log  error;

    include /etc/nginx/conf.d/*.conf;

在另一个名为 etc/nginx/conf.d/custom.conf 的文件中,我有代码:

http {
    blablabla …

NGINX 加载设置时,HTTP 代码块是否会在 NGINX.CONF 中与下面包含的设置还是会被简单地替换?

例如,在这种情况下,LOGS 是否会继续保存在文件夹中,即使 CUSTOM.CONF 没有实现任何相关内容?

我当前的问题: 我看不到应在 error/access.log 文件中打印的日志,记得我的应用程序正在生成 500 HTTP 错误

即使你可以拥有超过一个 http block 你也不应该这样做。但是在另一个 http 块中有一个 http 块是不允许的,并且会在启动时引发错误。刚刚在我的实例上测试了这个。所以你应该检查 nginx -T 的输出并检查配置。

NGINX 配置按层级顺序工作。意味着如果支持,您在 http 上下文中设置的指令可以在 serverlocation 上下文中被覆盖。