1
nginx [engine x]  это HTTP-сервер и почтовый прокси-сервер. Я начал разрабатывать nginx весной 2002 года, а осенью 2004 года вышел первый публично доступный релиз. В мае 2009 года nginx использовался на 3% самых посещаемых сайтов в мире.
2
3
Версию nginx-0.7.61 я рассматриваю как стабильную с точки зрения наджности. Однако функциональность некоторых модулей будет меняться, вследствие чего, будут меняться и директивы, поэтому обратной совместимости до версии 1.0.0 не гарантируется. Предыдущие версии в большинстве случаев тоже вполне работоспособны. Об исправленных ошибках и новых возможностях можно узнать в файле изменений.
4
5
Основная функциональность HTTP-сервера:
6
7
    * обслуживание статических запросов, индексных файлов, автоматическое создание списка файлов, кэш дескрипторов открытых файлов;
8
    * акселерированное проксирование с кэшированием, простое распределение нагрузки и отказоустойчивость;
9
    * акселерированная поддержка удалнных FastCGI серверов с кэшированием, простое распределение нагрузки и отказоустойчивость;
10
    * модульность, фильтры, в том числе сжатие (gzip), byte-ranges (докачка), chunked ответы, XSLT-фильтр, SSI-фильтр; несколько подзапросов на одной странице, обрабатываемые в SSI-фильтре через прокси или FastCGI, выполняются параллельно.
11
    * поддержка SSL и расширения TLS SNI; 
12
13
Функциональность почтового прокси-сервера:
14
15
    * IMAP и POP3: перенаправление пользователя на IMAP или POP3-бэкенд с использованием внешнего HTTP-сервера аутентификации;
16
    * SMTP: проверка пользователя с помощью внешнего HTTP-сервера аутентификации и перенаправление соединения на внутренний SMTP-сервер;
17
    * методы аутентификации:
18
          o POP3: USER/PASS, APOP, AUTH LOGIN/PLAIN/CRAM-MD5;
19
          o IMAP: LOGIN, AUTH LOGIN/PLAIN/CRAM-MD5;
20
          o SMTP: AUTH LOGI/ PLAIN/CRAM-MD5; 
21
    * поддержка SSL;
22
    * поддержка STARTTLS и STLS; 
23
24
Операционные системы и платформы:
25
26
    * тестировалась сборка и работа на:
27
      FreeBSD 3   7 платформа i386; FreeBSD 3   7 платформа amd64;
28
      Linux 2.2   2.6 платформа i386; Linux 2.6 платформа amd64;
29
      Solaris 9 платформы i386 и sun4u; Solaris 10 платформы i386, amd64 и sun4v;
30
      MacOS X платформы ppc, i386;
31
      Windows XP, Windows Server 2003.
32
33
Архитектура и масштабируемость:
34
35
    * один главный процесс и несколько рабочих, рабочие процессы работают под непривилегированным пользователем;
36
    * поддержка kqueue (FreeBSD 4.1+), epoll (Linux 2.6+), rt signals (Linux 2.2.19+), /dev/poll (Solaris 7 11/99+), event ports (Solaris 10), select и poll;
37
    * использование возможностей, предоставляемых kqueue, таких как EV_CLEAR, EV_DISABLE (для временного выключения события), NOTE_LOWAT, EV_EOF, число доступных данных, коды ошибок;
38
    * поддержка sendfile (FreeBSD 3.1+, Linux 2.2.+, Mac OS X 10.5+), sendfile64 (Linux 2.4.21+) и sendfilev (Solaris 8 7/01+);
39
    * поддержка accept-фильтров (FreeBSD 4.1+) и TCP_DEFER_ACCEPT (Linux 2.4+);
40
    * на 10 000 неактивных HTTP keep-alive соединений расходуется около 2.5M памяти;
41
    * минимум операций копирования данных; 
42
43
Другие возможности HTTP-сервера:
44
45
    * виртуальные сервера, определяемые по ip-адресу и имени;
46
    * поддержка keep-alive и pipelined соединений;
47
    * гибкость конфигурации на уровне Apache, настройка таймаутов и размеров буферов;
48
    * изменение настроек и обновление исполняемого файла без перерыва в обслуживании клиентов;
49
    * настройка форматов логов, быстрая ротация логов;
50
    * специальные страницы для ошибок 4xx-5xx;
51
    * изменение URI с помощью регулярных выражений;
52
    * выполнение разных функций в зависимости от адреса клиента;
53
    * ограничение доступа в зависимости от адреса клиента и по паролю (Basic аутентификация);
54
    * методы PUT, DELETE, MKCOL, COPY и MOVE;
55
    * FLV streaming;
56
    * ограничение скорости отдачи ответов;
57
    * ограничение числа одновременных соединений и запросов; 
58
59
Экспериментальные возможности:
60
61
    * встроенный perl;
62
    * экспериментальный модуль, работающий с сокетами через aio_read()/aio_write(), только под FreeBSD; 
63
64
(C) Игорь Сысоев