Nginx: Porovnání verzí

Smazaný obsah Přidaný obsah
→‎Rozšířenost: Přehození slovosledu
Bez shrnutí editace
Řádek 15:
}}
 
'''Nginx''' (čtěte jako "enginen-x"džin-ex) je softwarový [[webový server]] s load managment a reverzní proxy s [[Otevřený software|otevřeným zdrojovým kódem]]. Pracuje s protokoly [[Hypertext Transfer Protocol|HTTP]] (i [[HTTPS]]), [[Simple Mail Transfer Protocol|SMTP]], [[Post Office Protocol|POP3]], [[Internet Message Access Protocol|IMAP]] a [[Secure Sockets Layer|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 pro Microsoft Windows.
 
== Historie ==
Na jaře 2001 byl vyvinut modul mod_accel do apache jako náhradanáhradu staršího mod_proxy. Z důvodů nespokojenosti s funkčností a škálovatelností [[Apache HTTP Server|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 (programovací jazyk)|C]].
 
== Funkce ==
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 asynchronně zpracovává a vyřizuje (na rozdíl třeba od [[Apache HTTP Server|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|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.. funkcí.
 
Od verze 1.9.5 podporuje nový protokol [[HTTP/2]].