Root inside Location Block? Pitfalls says NO, Beginner’s Guide says YES

Practically the first two pages I read when starting with nginx were:

which says “putting Root inside Location Block is BAD” - don’t do it.


which gives this as its example of a config file:

The resulting configuration of the server block should look like this:

server {
location / {
root /data/www;
location /images/ {
root /data;

So I’m wondering which is right?


Posted at Nginx Forum:


On Thu, Sep 19, 2013 at 06:57:35AM -0400, chrisrob wrote:

which gives this as its example of a config file:

So I’m wondering which is right?

As you can see, the example in begginners guide uses different
roots for locations configured, and hence it’s very different from
the example provided at Pitfalls wiki page.

Using the “root” directive inside a location block isn’t bad per
se. It’s bad if you repeat it needlessly instead of using single
root inside a server{} block.

Maxim D.

Thanks Maxim,

That’s pretty obvious I suppose - providing that a root at Server
level is always the default in absence of root in Location Block.

I had only been reading the docs for 30 mins, after downloading nginx,
that just jumped out at me. I’d better make sure I read all the docs
posting here again - but I still think “Pitfalls” could be more
moan, moan…


Posted at Nginx Forum: