Nginx does what it does very well. It's very fast (I've used it just as a proxy server before), handles concurrency well, and is super configurable. At work, we spin up servers often and we want to be able to easily host multiple sites on a single server. By setting up localized nginx configurations, we can be up and running without having to hardly tweak the main server at all.
Occasionally there will be issues that are easily fixed by adding something to .htaccess. Since Nginx doesn't have that support, I have to find a workaround, but thus far that's the only thing I can find that I dislike.
If you have never used Nginx and you're hesitant to throw it into a big project, try using it on a side project first. Trust me, you won't be disappointed.
We use it primarily as a proxy server to direct all our sites through. It's been incredibly easy to get up and running, even across multiple servers, and is a true pleasure to work with.
Nginx require so few resources compared to Apache. In the same way that the Chrome browser replaced industry stalwarts, Nginx has given us a great alternative to Apache. I use Nginx to run some popular open source software and it does great. We have also used it as a load balancer in the past because it is an affordable alternative to commercial load balancers.
Configuration can be a barrier for more advanced needs . But that is true of any web based software. The community is great in providing examples for these scenarios. It's not as straightforward as installing a module in Apache, but that is also what makes it more powerful is the decoupling.
We run blogs with Wordpress and stat collecting sites using Piwik. We can run it on less resources which saves us money in hosting costs.
My team uses NGinX for configuring our development servers and locations, using variables, rewriting URIs to redirect to the appropriate service based on hostname. NGinX makes this process light and easy. We develop multiple different sites and services. NGinX is lightweight and you can be up and running quickly. It does everything I need as a web server and I really have no complaints so far.
NGinX is really for high level server admins. I can be complex because all the configurations are text based files and if you do not understand what you are doing it will cause issues.
We benefit by using NGinX as our primary development web server that points traffic to the correct corresponding service base on hostname. This allows development to easily work on multiple projects with multiple languages and/or versions simultaneously.
Nginx is super simple to set up and it is lightning FAST!
If you ever run into an issue, there is a lot of support both on NGINX's site and also on Stackoverflow.
I dislike how different apache and nginx are. If you spend a long time using one product then try to port everything to a different web server, it can sometimes be difficult to translate between the syntax.
If you want a simple, lightweight web server, look no further. Nginx solves this problem with ease. Between nginx and apache, there is not much difference other than speed. nginx is FAST FAST FAST!
Nginx has allowed our server to serve pages quicker and with less errors than other web servers out there.
We have realized the benefits of quick webpage serving, which in turn allows our team to be more efficient and get the information they need faster.
Nginx is very solid for my needs. I've never run into any trouble with it, even under higher loads. The ease of reloading configuration changes is a high point, as is the smart syntax of its configuration. In addition, since the configuration is very flexible, I've been able to easily configure SSL connections to meet the stringent encryption security requirements demanded by our customers.
It doesn't have as large a community as Apache HTTPd, and a lot of software assumes you're using that. This often means translating configuration to something compatible with nginx. The rewrite syntax is very different than that of mod_rewrite (for Apache HTTPd), and often cannot be transliterated directly.
Keep in mind that my experience with nginx is primarily as a reverse proxy. For that purpose, it is a great tool. Using it as a load balancer, it is more configurable and handles better than a dedicated appliance like a NetScaler. Keep in mind that if you want some of the advanced features advertised like easy add and removal of nodes, you'll need the commercial Plus offering. If you're in need of those features, however, it's a great value.
I'm using nginx to offload SSL termination for a web application by reverse proxy. It also acts as a bit of protection from directly exposing the back-end HTTP server to the public. While acting as a load balancer, it makes it easy to cycle nodes out for upgrades and/or maintenance with minimal public disturbance, reducing the duration of scheduled maintenance.
Open source, high performance webserver (and beyond with the modules) that can scale large amounts of connections without an issue. A lot of the additional modules provide support for other features or protocols - and in the newest versions, modules can be dynamically loaded too now.
Nginx provides very fast support when used as the front-end webserver and proxying back to another one [locally], such as Apache for the specific applications that may require .htaccess to still work.
I'm not entirely sure there's a whole lot to dislike about it. Nginx is pretty much a drop in replacement for any other webserver using different SAPI's via fastcgi instead or modules. It does lack .htaccess support that is still ever so needed at times based on customer applications.
Seriously, you can't go wrong using nginx! As long as you have everything properly tuned accordingly, it should only increase performance and response time.
If you have the requirement of using .htaccess still, you can still run the site via nginx and just proxy it back to Apache.
We're able to scale wordpress extremely well using nginx+php-fpm+fastcgi caching for commonly requested pages, so the webserver doesn't have to re-process them if found in cache.
Nginx is also the webserver being used for BelugaCDN -- although the CDN proxy is written in Go.