私の理解が正しければ、これはすべての潜在的な URI に一致し、より具体的な URI を持つ場所との戦いに「負ける」ことになるので、を定義する意味は何でしょうかlocation / { }
。 を定義する代わりに、すべてのデフォルト値をサーバー ブロックに直接配置できるというのが私の考えです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;
}
}
サーバー レベルのディレクティブはデフォルト値です。サーバー レベルでのみ機能するディレクティブや、ロケーション レベルでのみ機能するディレクティブがあります。
これらは根本的に異なる 2 つの事柄ですが、あなたの例は同じ結果をもたらすだけです。