NginX was written with an explicit goal of outperforming the Apache web server. Out of the box, serving static files, NginX uses much less memory than Apache, and can handle roughly four times as many requests per second. However, this performance boost comes at a cost of decreased flexibility, such as the ability to override systemwide access settings on a per-file basis: Apache accomplishes this with an .htaccess file, while NginX has no such feature built in.
NginX also has a reputation of being harder to install and configure than Apache. Formerly, adding third-party modules to NginX required recompiling the application from source with the modules statically linked. This was partially overcome in version 1.9.11 on February 2016, with the addition of dynamic module loading. However, the modules still must be compiled at the same time as NginX, and not all modules are compatible with this system; some require the older static linking process.