Nginx:括号语法的意义?

Nginx:括号语法的意义?

在 FreeBSD 上使用 Nginx,想知道两者有什么区别

events {
    worker_connections 200;
}

并且仅仅worker_connections 200;是它自己?

或者

server {
    listen 80;
    location / {
        return 301 https://$host$request_uri;
    }
}

对比

server {
    listen       80;
    return 301 https://$host$request_uri;
    location /two {
        return 301 https://something else?;
    }
}

我在各种示例中都看到过这两种用法。它们是否可以互换,并且仅在范围上有所不同?
我可以省略http父块,只使用server块作为示例吗?

谢谢!

哦,我一直在编辑的具体文件是/usr/local/etc/nginx/nginx.conf

答案1

如果您要在配置中放置多个位置(这是很常见的情况),那么语法一会更有用。语法二仅适用于您有一个简单的服务器返回重定向或类似内容的情况。您的两个示例都会做同样的事情。

更新 由于返回级别较高,您更新的第二个配置可能永远不会执行“location two”块。您还需要在 URL 周围加上引号。您可能想要更多类似这样的内容

server {
  server_name example.com;
  listen       80;
  location / {
    return 301 https://$host$request_uri;
  }
  location /two {
    return 301 https://something else?;
  }
}

相关内容