Персональный
сайт
Игоря
Сысоева


 
english
обо мне
 
sysoev.ru
 
nginx
 поехали!    
 документация    
 поддержка    
 изменения    
 скачать    
 ссылки    
 
mod_accel
mod_realip
mod_deflate
программирование
всякая всячина
windows
freebsd
apache
pppd
unix
web
 
 

nginx

 

30.09.2011

nginx [engine x] — это HTTP-сервер и почтовый прокси-сервер. Я начал разрабатывать nginx весной 2002 года, а осенью 2004 года вышел первый публично доступный релиз. В декабре 2009 года nginx использовался на 4% самых посещаемых сайтов в мире.

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

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

  • 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+);
  • поддержка файлового 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+) и TCP_DEFER_ACCEPT (Linux 2.4+);
  • на 10 000 неактивных HTTP keep-alive соединений расходуется около 2.5M памяти;
  • минимум операций копирования данных;

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

(C) Игорь Сысоев
http://sysoev.ru