Nginx

Z Wikipedie, otevřené encyklopedie
Skočit na: Navigace, Hledání
Nginx
Logo
Vývojář Nginx, Inc.
Aktuální verze 1.4.7
Licence BSD
Web www.nginx.org

Nginx (čtěte jako "engin-x") je softwarový web server a reverzní proxy s otevřeným zdrojovým kódem. Pracuje s protokoly HTTP (i HTTPS), SMTP, POP3, IMAP a SSL. Zaměřuje se především na vysoký výkon a nízké nároky na paměť. Nginx je dostupný na Unixu, Linuxu a dalších variantách UNIXU pod BSD. Existuje varianta i pro Solaris, Mac OS X a dokonce i Microsoft Windows.

Historie[editovat | editovat zdroj]

Na jaře 2001 byl vyvinut modul mod_accel do apache jako náhrada staršího mod_proxy. Z důvodů nespokojenosti s funkčností a škálovatelností Apache se rozhodl Igor Sysoev vyvinout Nginx. Vývoj započal v roce 2002 a o dva roky později v roce 2004 vyšla první oficiální verze. Cílem bylo vyvinout řešení, které bude bez problému schopné obsloužit 10 000 požadavků současně s minimálními nároky na operační paměť, možnost proxy, možnost flexibilní konfigurace a bude obsahovat cache. Nginx je naprogramován a dále vyvíjen v programovacím jazyce C.

Funkce[editovat | editovat zdroj]

Základním cílem je rychlá distribuce statického obsahu a možnost rozložení zátěže na další servery dle nastavené priority. Systém dále umožňuje definovat záložní server, na který Nginx požadavek předá, pokud primární server neodpoví do stanoveného limitu. Příchozí požadavky Nginx asynchroně zpracovává a vyřizuje (na rozdíl třeba od Apache, který využívá vlákna nebo procesy). Velice častý způsob použití funguje na principu, že příchozí HTTP (nebo HTTPS) požadavek se nejprve pokusí vyhledat ve své cache (má konfigurovatelnou velikost a dobu uchovávání), pokud jej najde, rovnou odpoví. V opačném případě se obrátí na jeden z definované sady serverů (každý server má definovanou prioritu). Pokud mu server do definovaného času stihne odpovědět, předá odpověď v opačném případě se obrátí na záložní server (samozřejmě je-li definován). Odpověď, pokud může, uloží do své cache a následující dotazy do vypršení časového limitu životnosti cache vyřizuje právě z cache. Jedním z nastavení je možnost nastavit limit počtu připojení z jedné IP adresy (jedna z nejjednodušších obran proti DDOS útoku. Nginx je modulární systém a lze přidávat moduly. (mnohdy je nutná rekompilace) Jeden z modulů je například GEO lokace, která umožňuje například dle země předávat požadavky na definované servery nebo naopak zakázat přístup na stránky z některých zemí. Za zmínku určitě stojí také moduly pro přesměrování dle definovaných pravidel, zabezpečení stránky heslem, podpora komprese Gzip, streaming (FLV, mp4) a mnoho dalších...

Mail server[editovat | editovat zdroj]

Rozšířenost[editovat | editovat zdroj]

Různé statistky udávají různá čísla, v průměru se ale aktuální podíl pohybuje okolo 8,5 %.[1] Kvůli poměrně propracované možnosti rozložení zátěže jej používají častěji velké a větší firmy. Z českých firem to je například Seznam.cz, FTV Prima. Ze zahraničních například Nokia, Github, WordPress, Dropbox.

Reference[editovat | editovat zdroj]

  1. netcraft

Externí odkazy[editovat | editovat zdroj]