nginx

nginx


english
русский

简体中文
עברית
日本語
türkçe
italiano

новости [en]
об nginx
скачать
безопасность [en]
pgp ключи [en]
документация
faq
ссылки [en]
книги [en]
поддержка
пожертвования [en]

trac
wiki
twitter
nginx.com
blog
Основная функциональность HTTP-сервера
Другие возможности HTTP-сервера
Функциональность почтового прокси-сервера
Архитектура и масштабируемость
Протестированные ОС и платформы

nginx [engine x] — это HTTP-сервер и обратный прокси-сервер, а также почтовый прокси-сервер, написанный Игорем Сысоевым. Уже длительное время он обслуживает серверы многих высоконагруженных российских сайтов, таких как Яндекс, Mail.Ru, ВКонтакте и Рамблер. Согласно статистике Netcraft nginx обслуживал или проксировал 17.82% самых нагруженных сайтов в апреле 2014 года. Вот некоторые примеры успешного внедрения nginx (тексты на английском языке): Netflix, Wordpress.com, FastMail.FM.

Исходные тексты и документация распространяются под BSD-подобной лицензией из 2 пунктов.

Основная функциональность HTTP-сервера

Другие возможности HTTP-сервера

Функциональность почтового прокси-сервера

  • Перенаправление пользователя на IMAP- или POP3-сервер с использованием внешнего HTTP-сервера аутентификации;
  • Проверка пользователя с помощью внешнего HTTP-сервера аутентификации и перенаправление соединения на внутренний SMTP-сервер;
  • Методы аутентификации:
    • POP3: USER/PASS, APOP, AUTH LOGIN/PLAIN/CRAM-MD5;
    • IMAP: LOGIN, AUTH LOGIN/PLAIN/CRAM-MD5;
    • SMTP: AUTH LOGIN/PLAIN/CRAM-MD5;
  • Поддержка SSL;
  • Поддержка STARTTLS и STLS.

Архитектура и масштабируемость

  • Один главный и несколько рабочих процессов, рабочие процессы работают под непривилегированным пользователем;
  • Поддержка 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+);
  • Поддержка файлового AIO (FreeBSD 4.3+, Linux 2.6.22+);
  • Поддержка DIRECTIO (FreeBSD 4.4+, Linux 2.4+, Solaris 2.6+, Mac OS X);
  • Поддержка accept-фильтров (FreeBSD 4.1+, NetBSD 5.0+) и TCP_DEFER_ACCEPT (Linux 2.4+);
  • На 10 000 неактивных HTTP keep-alive соединений расходуется около 2.5M памяти;
  • Минимум операций копирования данных.

Протестированные ОС и платформы

  • FreeBSD 3 — 10 / i386; FreeBSD 5 — 10 / amd64;
  • Linux 2.2 — 3 / i386; Linux 2.6 — 3 / amd64;
  • Solaris 9 / i386, sun4u; Solaris 10 / i386, amd64, sun4v;
  • AIX 7.1 / powerpc;
  • HP-UX 11.31 / ia64;
  • Mac OS X / ppc, i386;
  • Windows XP, Windows Server 2003.