nginx
| nginx | |
| Serwer WWW | |
| Producent | Nginx, Inc. |
| System operacyjny | FreeBSD, GNU/Linux, OpenBSD, Windows, Solaris |
| Aktualna wersja stabilna | 1.0.11 (15 grudnia 2011) |
| Aktualna wersja testowa | 1.1.13 (16 stycznia 2012) |
| Licencja | 2-klauzulowa licencja BSD |
| http://www.nginx.com (Strona komercyjna), http://www.nginx.org (Strona deweloperska) | |
nginx (wymawiany jako engine x) – serwer WWW (HTTP) oraz serwer proxy dla HTTP i IMAP/POP3 stworzony przez Igora Sysojewa a rozwijany i wspierany przez założoną przez niego firmę Nginx, Inc.
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.
Spis treści |
[edytuj] Historia
Oryginalnie stworzony na potrzeby rosyjskiej wyszukiwarki i portalu Rambler.ru.
- 4 października 2004 – pierwsza wersja udostępniona publicznie (0.1.0)
- 23 września 2005 – wersja 0.2.0
- lipiec 2007 – rozdzielenie wersji stabilnej (0.5 i rozwojowej 0.6)
- 19 maja 2008 – oddzielenie gałęzi rozwojowej 0.7 (0.6 uzyskuje status stabilnej)
- 7 lipca 2008 – ostatnie wydanie z gałęzi 0.5 (0.5.37)
- 2 czerwca 2009 – nowa gałąź rozwojowa (0.8.0), gałąź 0.7 zostaje oznaczona jako stabilna a gałąź 0.6 uzyskuje status "legacy" (ostatnie wydanie 0.6.39)
- 14 września 2009 – ze względu na lukę w bezpieczeństwie wydane zostały poprawki do wszystkich czterech gałęzi (0.8.15, 0.7.62, 0.6.39, i 0.5.38)
- 27 września 2010 – nowa gałąź rozwojowa (0.9.0), gałąź 0.8 zostaje oznaczona jako stabilna a gałąź 0.7 uzyskuje status "legacy"
- 12 kwietnia 2011 - zakończenie cyklu rozwojowego 0.9.x poprzez wydanie wersji stabilnej 1.0.0 w 50-tą rocznicę startu radzieckiego programu kosmicznego Wostok 1
- 23 września 2011 - nginx został włączony do kodu źródłowego OpenBSD[1]
- Październik 2011 - powstanie firmy Nginx, Inc. oferującej liczne opcje wsparcia[2] oraz konsultacji dla wielkoskalowych implementacji
[edytuj] Wykorzystanie w Internecie
Według raportu Netcraft z grudnia 2011 serwer nginx wykorzystywany jest przez prawie 50 mln domen, co klasyfikuje go na trzecim miejscu wśród serwerów WWW[3].
Statystyki wykorzystania serwerów www (dane z grudnia 2011 wg serwisu Netcraft):
| Apache | 362 267 922 | 65,22% |
| Microsoft | 82 521 809 | 14,86% |
| nginx | 49 143 289 | 8,85% |
| 18 464 148 | 3,32% |
Duże serwisy wykorzystujące nginx[4]
- JoeMonster.org i serwisy powiązane takie jak demotywatory.pl
- epuls.pl
- imageshack.us
- nasza-klasa.pl[5]
- grono.net
- onet.pl
- quakelive.com
- lockerz.com
- WordPress.com[6]
- SourceForge.net
- fastmail.fm[7]
- Zimbra (jako proxy POP3 i IMAP)[8]
- ling.pl
[edytuj] 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)
- obsługa asynchronicznego wejścia-wyjścia (AIO) na FreeBSD i Linuksie
- minimalizacja operacji kopiowania danych
- architektura modułowa
[edytuj] Cechy serwera
- 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, WSGI i SCGI
- 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[9]
- wbudowany serwer proxy dla protokołów SMTP, POP3 i IMAP
- dodatkowe metody protokołu HTTP (PUT, DELETE, MKCOL, COPY, MOVE)
- obsługa strumieni FLV
- od wersji 1.1.3 obsługa strumieni MP4 za pomocą MP4 Streaming Module[10], który zastępuje nieaktulizowany od 2008 r., oddzielny moduł MP4 Streaming Lite
- wbudowany interpreter języka perl (eksperymentalnie)
[edytuj] Niekompatybilność
nginx nie obsługuje kilku mechanizmów udostępnianych przez inne serwery (takie jak Apache httpd czy lighttpd):
- lokalne pliki konfiguracyjne .htaccess
- uruchamianie prostych skryptów CGI[11]
- brak rozszerzenia Delta-V do protokołu WebDAV[12], koniecznego do implementacji dostępu do repozytoriów Subversion (realizowanego dla serwera Apache przez moduł mod_svn)
[edytuj] Linki zewnętrzne
- http://www.nginx.net/
- dokumentacja (wiki) w języku angielskim
- Lista dyskusyjna (archiwum)
- forum użytkowników serwera
- oryginalna strona serwera (w języku rosyjskim)
Przypisy
- ↑ nginx was imported to OpenBSD src tree
- ↑ Nginx, Inc. Support
- ↑ Web Server Survey - Netcraft
- ↑ Tam gdzie nie podano inaczej informacja opiera się na nagłówku Server protokołu HTTP
- ↑ Szybka ścieżka wzrostu - Computerworld.pl
- ↑ Load Balancer Update - Barry on WordPress
- ↑ Web/IMAP/POP frontend proxies changed to nginx - FastMail.FM Weblog
- ↑ Zimbra OS 5.0 beta 2 release notes
- ↑ NginxCommandLine - nginx wiki
- ↑ MP4 Streaming Module
- ↑ NginxSimpleCGI - nginx wiki
- ↑ NginxHttpDavModule - nginx wiki

