Nginx - Nowoczesny serwer HTTP i FastCGI

nginx [engine x] jest serwerem HTTP oraz serwerem proxy IMAP/POP3 tworzonym przez Igora Sysoeva. Serwer ten wykorzystywany jest na wielu Rosyjskich portalach internetowych poddawanych dużemu obciążeniu. Nginx wydawany jest na licencji BSD. Wg. raportu netcraft z grudnia 2006 serwer nginx wykorzystywany był na 114160 domenach, lighttpd na 178619. Nginx wykorzystywany jest na rambler.ru czy na blog.zabiello.com :nice: Niniejsza dokumentacja to tłumaczenie anglojęzycznej wiki oraz innych artykułów dostępnych w sieci.

Podstawowe funkcjonalności HTTP

  • Obsługa statycznych plików, plików index i autoindeksowanie
  • Przyśpieszone reverse proxy bez keszowania, prosty load balancing
  • Wsparcie dla FastCGI bez keszowania z load balancing
  • Budowa modularna, filtry (m.in. gzip, byte ranges, chunked responses, SSI)
  • Wsparcie dla SSL

Funkcjonalności proxy IMAP/POP3

  • Przekierowanie użytkownika do aplikacji IMAP/POP3 z wykorzystaniem zewnętrznego serwera uwierzytelniania HTTP
  • Uwierzytelnianie: IMAP LOGIN, POP3 USER/PASS, APOP, AUTH LOGIN PLAIN CRAM-MD5
  • Wsparcie dla SSL i STARTTLS

Wspierane systemy operacyjne i platformy

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

Architektury i Skalowalność

  • Jeden główny proces i kilka procesów sług (workers) nieuprzywilejowanego użytkownika
  • Wsparcie dla kqueue (liczne funkcjonalności) (FreeBSD 4.1+), epoll (Linux 2.6+), rt signals (Linux 2.2.19+), /dev/poll (Solaris 7 11/99+), event ports (Solaris 10) i select
  • Wsparcie sendfile (FreeBSD 3.1+), sendfile (Linux 2.2+), sendfile64 (Linux 2.4.21+) i sendfilev (Solaris 8 7/01+)
  • Wsparcie accept-filter (FreeBSD 4.1+) i TCP_DEFER_ACCEPT (Linux 2.4+)
  • 10 000 nieaktywnych połączeń HTTP keep-alive zajmuje około 2.5 MB RAM
  • Zminimalizowana ilość operacji kopiowania danych

Inne Funkcjonalności

  • Serwery wirtualne bazujące na IP i nazwie
  • Wsparcie połączeń keep-alive i pipeline
  • Elastyczna konfiguracja
  • Aktualizacja i rekonfiguracja bez zaburzenia pracy procesów
  • Przekierowania dla błędów 3XX-5XX
  • Moduł Rewrite
  • Kontrola dostępu na bazie IP i prostego uwierzytelniania HTTP
  • Metody PUT, DELETE i MKCOL
  • Streaming FLV (strumieniowa transmisja FLV)
  • Ograniczanie prędkości
  • Ograniczanie ilości równoczesnych połączeń z jednego adresu
RkBlog

Wprowadzenie do świata Linuksa, 14 July 2008

RkBlog main page Search RSS Contact