FAQ

Page Discussion History

Overview

(Redirected from NginxOverview)

__Basic HTTP features:__

  • handling of static files, index files, and autoindexing;
  • accelerated reverse proxying (without caching), simple load balancing and fault tolerance;
  • FastCGI, with simple load balancing and fault tolerance;
  • modular architecture. Filters include gzipping, byte ranges, chunked responses, and SSI-filter. In the SSI filter, multiple subrequests to a proxy or FastCGI are handled in parallel;
  • SSL and TLS SNI support;

__IMAP/POP3 proxy server features:__

  • user redirection to IMAP/POP3 backend using an external HTTP authentication server;
  • User authentication using an external HTTP authentication server and connection redirection to internal SMTP backend;
  • Authentication methods:
  • POP3: POP3 USER/PASS, APOP, AUTH LOGIN PLAIN CRAM-MD5;
  • IMAP: IMAP LOGIN;
  • SMTP: AUTH LOGIN PLAIN CRAM-MD5;
  • SSL support;
  • STARTTLS and STLS support in the IMAP and POP3 mode;

__Supported Operating Systems:__

  • FreeBSD 3.x, 4.x, 5.x, 6.x i386; FreeBSD 5.x, 6.x amd64;
  • Linux 2.2, 2.4, 2.6 i386; Linux 2.6 amd64;
  • Solaris 8 i386; Solaris 9 i386 and sun4u; Solaris 10 i386;
  • MacOS X (10.4) PPC;

__Architecture and scalability:__

  • one master process and several worker processes. The workers are single-threaded and run under an unpriviliged user
  • kqueue (FreeBSD 4.1+), epoll (Linux 2.6+), rt signals (Linux 2.2.19+), /dev/poll (Solaris 7 11/99+), select, and poll support;
  • various kqueue features support including EV_CLEAR, EV_DISABLE (to disable event temporalily), NOTE_LOWAT, EV_EOF, number of available data, the error codes;
  • sendfile (FreeBSD 3.1+), sendfile (Linux 2.2+), sendfile64 (Linux 2.4.21+), and sendfilev (Solaris 8 7/01+) support;
  • accept-filter (FreeBSD 4.1+) and TCP_DEFER_ACCEPT (Linux 2.4+) support;
  • 10,000 inactive HTTP keep-alive connections take about 2.5M memory.
  • minimizes data copy operations;

__Other HTTP features:__

  • name- and IP-based virtual servers;
  • a GET interface to Memcached;
  • support for keep-alive and pipelined connections;
  • flexible and easy configuration;
  • reconfiguration and online upgrade without interruption of the client processing;
  • custom access log formats, buffered writing, and quick log rotation;
  • 4xx-5xx error codes redirection;
  • PCRE-based rewrite module;
  • access control based on client IP address and HTTP Basic authentication;
  • PUT, DELETE, and MKCOL methods;
  • support for FLV (Flash video);
  • bandwidth throttling

__Experimental features:__

  • embdedded perl
  • An experimental module, which works with sockets through aio_read()/aio_write(), only under FreeBSD.
  • Experimental support for threads, FreeBSD 4.x implementation based on rfork()

The main English Nginx site is http://sysoev.ru/en/

The draft English documentation by Aleksandar Lazic is here .