定義的意義location / { }
何在,如果我理解正確的話,這將匹配所有潛在的 URI,並「輸掉」與具有更具體 URI 的位置的任何戰鬥?我的推理是您可以將所有預設值直接放入伺服器區塊中,而不是定義location / { }
.
因此,如果我是正確的,那麼這沒有任何意義:
server {
root /www/html;
location / {
root /www/html;
}
}
PS:我對 nginx 很陌生,所以請隨時告訴我是否可以更好地表達問題以使問題更有用/更容易發現。
答案1
你是對的,你的具體例子沒有任何意義。但是有很多 nginx 指令在伺服器層級不起作用
例如:
server {
proxy_pass http://localhost:8080;
}
^ 這不起作用。
v 確實如此。
server {
location / {
proxy_pass http://localhost:8080;
}
}
伺服器級指令是預設值。有些指令僅在伺服器層級起作用,有些指令僅在位置層級起作用。
這是兩個根本不同的事情,只是你的例子有相同的結果。