O'Reilly logo

Nginx HTTP Server - Second Edition by Clement Nedelcu

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

If block issues

In some situations, if not most, you should avoid using if blocks. There are two main issues occurring, regardless of the Nginx build you are using.

Inefficient statements

There are some cases where if is used inappropriately, in a way that risks saturating your storage device with useless checks:

location / {
    # Redirect to index.php if the requested file is not found
    if (!-e $request_filename) {
       rewrite ^ index.php last;
    }
}

With such a configuration, every single request received by Nginx will trigger a complete verification of the directory tree for the requested filename, thus requiring multiple storage disk access system calls. If you test /usr/local/nginx/html/hello.html, Nginx will check /, /usr, /usr/local, /usr/local/nginx ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required