nginx – hugely popular open source web server

nginx is a free, lightweight, open-source, very powerful and efficient web server and reverse proxy. It uses a scalable event-driven (asynchronous) architecture in contrast to a threaded or process-oriented approach to handling requests. This architecture uses small, but more importantly, predictable amounts of memory under load.

This server can be used as standalone HTTP server and as a reverse proxy server before some Apache or another big server to reduce load to backend servers by many concurrent HTTP-sessions.

nginx can also act as a POP3/IMAP mail proxy with SSL and TLS SNI support.

Features include:

  • Handling of static files, index files, and auto-indexing.
  • Accelerated reverse proxy with caching.
  • Load balancing.
  • Fault tolerance.
  • Accelerated support with caching of remote FastCGI servers; simple load balancing and fault tolerance.
  • IPv6 support.
  • Low memory usage and high concurrency.
  • Modular architecture. Filters include gzipping, byte ranges, chunked responses, XSLT, SSI, and image resizing filter. Multiple SSI inclusions within a single page can be processed in parallel if they are handled by FastCGI or proxied servers.
  • SSL and TLS SNI support.
  • Name-based and IP-based virtual servers.
  • Keep-alive and pipelined connections support.
  • Flexible configuration.
  • Reconfiguration and online upgrade without interruption of the client processing.
  • Access log formats, buffered log writing, and quick log rotation.
  • 3xx-5xx error codes redirection.
  • The rewrite module.
  • Access control based on client IP address and HTTP Basic authentication.
  • The PUT, DELETE, MKCOL, COPY and MOVE methods.
  • FLV streaming.
  • MP4 streaming.
  • Speed limitation.
  • Limitation of simultaneous connections or requests from one address.
  • Embedded Perl.
  • WebDAV.
  • Keepalive connections may be closed prematurely.
  • Support for keepalive connections to upstream servers.
  • Consolidation of multiple simultaneous requests to upstream servers if caching is used.
  • Support for multiple request and connection limits used simultaneously.
  • Reduced memory consumption in various edge cases like handling of long-lived requests.

Support: Wiki, Code Repository
Developer: Nginx, Inc.
License: 2-clause BSD

nginx is written in C. Learn C with our recommended free books and free tutorials.

Return to Web Servers Home Page | Return to Web Caches Home Page | Return to Load Balancers Home Page | Return to Lightweight Web Servers Home Page

Read our complete collection of recommended free and open source software. The collection covers all categories of software.
Share this article

Share your Thoughts

This site uses Akismet to reduce spam. Learn how your comment data is processed.