Nginx, is an opensource webserver licenced under BSD. It is pronounced as “Engine-X”. It is also a reverse proxy sever for protocols say HTTP,SMTP, POP3 and IMAP . It is well known for its strong focus on high concurrency, performance and low memory usage.
Nginx is different from Apace HTTP Server model for it handles request using an asynchronous event-driven approach so that it can provide more predictable performance under high loads. It runs on Unix, Linux, BSD variants, Mac os X, Solaris, Aix, HP-UX and Microsoft Windows. For a long time, it has been running on many heavily loaded Russian sites including Yandex, Mail.Ru, VKontakte, and Rambler.
- Nginx has the lowest memory footprint possible and it optimizes the CPU usage.
- Nginx is able to continuously take more connections.
- Nginx supports all the major os standards and protocols, providing the set of features necessary to build a scalable web setup.
- Nginx configuration is logical and flexible and allows more efficiency and scalability.
- High Traffic sites will perform better with nginx.
Who Uses It?
Currently, just under 16 million websites are using Nginx. According to Netcraft’s Survey conducted in December 2012, Nginx was in third place of most widely used web server across all domains, and also the second most widely used web server for all “active” sites . Few popular sites using Nginx are Groupon, LivingSocial, Playdom, Dropbox, WordPress.com, Sourceforge.com etc.Wikipedia uses Nginx as its SSL termination proxy.
Basic HTTP server features
- Ability to handle more than 10,000 simultaneous connections with a low memory footprint (2.5 MB per 10k inactive HTTP keep-alive connections)
- Handling of static files, indexfiles, and auto-indexing
- Reverse proxy with caching
- Load balancing with in-band health checks
- FLV and MP4 streaming
- URL rewriting
- Custom logging with on-the-fly gzip compression
- Bandwidth throttling
- IP address-based geolocation
- User tracking
- Virtual hosts
- Static file serving
- Load balancing
- Reverse proxying
- Access controls
- Custom loggingURL rewritting
- Fast CGI
- Flv streaming
The main advantage of using Nginx is performance and efficiency. Apache used 30% CPU and 17MB of memory to serve 6500 requests p/s. Nginx used 15% CPU and 1MB of memory to serve 11500 requests per second. Nginx is capable of serving more requests because of its architecture. Nginx is an event-based web server. Nginx is 50% faster than Apache. WordPress.com has found nginx to be the only load balancer and it is able to handle 8000 live traffic requests per second.
Nginx has been growing consistently, and its momentum has been increasing. If you look at growth in terms of percent, nginx has been crushing every other web server.
Reference: Nginx, the little Russian web server taking on the giants