Статус версии 0.7.x изменён на стабильный.
nginx (engine x) — свободный Веб-сервер и почтовый прокси-сервер, работающий на Unix-подобных операционных системах и теперь также под Microsoft Windows. Разрабатывается Игорем Сысоевым с 2002-го года. Версию nginx-0.7.59 разработчик объявил стабильной с точки зрения надёжности. Однако, по словам автора, функциональность некоторых модулей будет меняться, вследствие чего будут меняться и директивы. Поэтому обратной совместимости до версии 1.0.0 не гарантируется. Об исправленных ошибках и новых возможностях можно узнать в файле изменений. Во время разработки версии 0.7.x, среди прочего, появились: - кэширование проксированных и FastCGI-серверов;
- директива try_files;
- поддержка выделений в регулярных выражениях в директивах location и server_name и ссылок на эти выделения во всех директивах, поддерживающих переменные, например, в директиве alias;
- два фильтра — XSLT и преобразования изображений в форматах JPEG, GIF и PNG;
- предварительная поддержка IPv6;
- nginx/Windows работает с Win32 API (не эмуляция Cygwin). В качестве метода обработки соединений используется select, поэтому не стоит ожидать высокой производительности и масштабируемости: пока это бета-версия. На данный момент доступна практически вся функциональность, что и в nginx/Unix, за исключением XSLT-фильтра, фильтра изображений и встроенного perl'а. nginx/Windows работает как обычное приложение (не сервис).
Основная функциональность HTTP-сервера: - обслуживание статических запросов, индексных файлов, автоматическое создание списка файлов, кэш дескрипторов открытых файлов;
- акселерированное проксирование с кэшированием, простое распределение нагрузки и отказоустойчивость;
- акселерированная поддержка удалённых FastCGI серверов с кэшированием, простое распределение нагрузки и отказоустойчивость;
- модульность, фильтры, в том числе сжатие (gzip), byte-ranges (докачка), chunked ответы, XSLT-фильтр, SSI-фильтр; несколько подзапросов на одной странице, обрабатываемые в SSI-фильтре через прокси или FastCGI, выполняются параллельно.
- поддержка SSL и расширения TLS SNI;
Функциональность почтового прокси-сервера: - IMAP и POP3: перенаправление пользователя на IMAP или POP3-бэкенд с использованием внешнего HTTP-сервера аутентификации;
- SMTP: проверка пользователя с помощью внешнего HTTP-сервера аутентификации и перенаправление соединения на внутренний SMTP-сервер;
- методы аутентификации:
- POP3: USER/PASS, APOP, AUTH LOGIN/PLAIN/CRAM-MD5;
- IMAP: LOGIN, AUTH LOGIN/PLAIN/CRAM-MD5;
- SMTP: AUTH LOGI/ PLAIN/CRAM-MD5;
- поддержка SSL;
- поддержка STARTTLS и STLS;
Операционные системы и платформы: - FreeBSD 3 — 7 платформа i386;
- FreeBSD 3 — 7 платформа amd64;
- Linux 2.2 — 2.6 платформа i386;
- Linux 2.6 платформа amd64;
- Solaris 9 платформы i386 и sun4u;
- Solaris 10 платформы i386, amd64 и sun4v;
- MacOS X платформы ppc, i386;
- Windows XP, Windows Server 2003;
Архитектура и масштабируемость: - один главный процесс и несколько рабочих, рабочие процессы работают под непривилегированным пользователем;
- поддержка 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;
- использование возможностей, предоставляемых kqueue, таких как EV_CLEAR, EV_DISABLE (для временного выключения события), NOTE_LOWAT, EV_EOF, число доступных данных, коды ошибок;
- поддержка sendfile (FreeBSD 3.1+, Linux 2.2.+, Mac OS X 10.5+), sendfile64 (Linux 2.4.21+) и sendfilev (Solaris 8 7/01+);
- поддержка accept-фильтров (FreeBSD 4.1+) и TCP_DEFER_ACCEPT (Linux 2.4+);
- на 10 000 неактивных HTTP keep-alive соединений расходуется около 2.5M памяти;
- минимум операций копирования данных;
|