nginx (wymawiany jako engine x)

serwer WWW (HTTP) oraz serwer proxy dla HTTP i IMAP/POP3 tworzony przez Igora Sysoeva. Zaprojektowany z myślą o wysokiej dostępności i silnie obciążonych serwisach (nacisk na skalowalność i niską zajętość zasobów). Wydawany jest na licencji BSD.

nginx - architektura

  • jeden proces główny i wiele procesów roboczych (pracujących w kontekście użytkownika nieuprzywilejowanego)
  • nowoczesna obsługa zdarzeń (kqueue na FreeBSD, epoll na Linuksie, /dev/poll i "event ports" na Solarisie)
  • obsługa zaawansowanych funkcji mechanizmu kqueue na FreeBSD (EV_CLEAR, EV_DISABLE, NOTE_LOWAT, EV_EOF)
  • obsługa funkcji sendfile
  • obsługa opóźnionego przyjmowania połączeń (accept-filter na FreeBSD i TCP_DEFER_ACCEPT dla Linuksa)
  • minimalizacja operacji kopiowania danych
  • architektura modułowa

nginx - cechy charakterystyczne

  • obsługa statycznych plików
  • pliki indeksów
  • automatyczne indeksowanie
  • odwrócone proxy
  • balansowanie obciążenia z obsługą braku dostępności serwerów
  • obsługa FastCGI
  • obsługa SSL i TLS SNI (Server Name Indication)
  • obsługa serwerów wirtualnych
  • możliwość przeładowania konfiguracji a także uaktualnienia wersji samego serwera bez przerywania pracy[6]
  • wbudowany serwer proxy dla protokołół SMTP, POP3 i IMAP
  • dodatkowe metody protokołu HTTP (PUT, DELETE, MKCOL, COPY, MOVE)
  • obsługa strumieni FLV
  • wbudowany interpreter języka perl (eksperymentalnie)