Nginx

Technology
12 hours ago
8
4
2
Avatar
Author
Albert Flores

Nginx (anglická výslovnost [ˈendžinex]) je softwarový webový server s load managment a reverzní proxy s otevřeným zdrojovým kódem. Pracuje s protokoly HTTP (i url=HTTPS),][[Simple Mail Transfer Protocol|SMTP[/url]], 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 Unix-like systémech pod BSD; existují varianty pro Solaris, macOS i MS Windows.

Historie

Na jaře 2001 byl vyvinut modul mod_accel do Apache [url= Server|Apache]əˈpæči] jako náhradu staršího mod_proxy. Protože byl nespokojen s funkčností a škálovatelností [[Apache[/url]], rozhodl se Igor Sysoev vyvinout Nginx. +more Vývoj započal v roce 2002 a na podzim roku 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. Roku 2011 byla založena stejnojmenná společnost zajišťující vývoj a podporu.

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. +more Příchozí požadavky Nginx asynchronně zpracovává a vyřizuje (na rozdíl třeba od [url= Server|Apache]url= (nebo[/url]url=) 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 [[Denial of service|DOS útoku][Apache[/url]], který využívá vlákna nebo procesy). Velice častý způsob použití funguje na principu, že příchozí[/url]]). 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.

Mail server

SMTP, POP3, IMAP proxy * SSL (Secure Sockets Layer) * STARTTLS - již neexistuje

Rozšířenost

Různé statistiky udávají různá čísla, v průměru se ale globální podíl na konci roku 2016 pohyboval okolo 16 %. Kvůli poměrně propracované možnosti rozložení zátěže jej používají častěji větší a velké firmy. +more Z českých firem to je například Seznam. cz, FTV Prima nebo Česká Spořitelna. Ze zahraničních například Nokia, GitHub, WordPress, Dropbox. Tržní podíl serveru Nginx v ČR byl v únoru 2016 na 12,02 %.

Reference

Externí odkazy

[url=http://wiki. nginx. +moreorg/Modules]wiki. nginx. org[/url] * [url=http://nginx. org/en/docs/control. html]nginx. org[/url] * [url=http://mailman. nginx. org/pipermail/nginx/2008-May/004893. html]mailman. nginx. org[/url].

Kategorie:Servery Kategorie:Software pod licencí BSD Kategorie:Svobodný software v C

5 min read
Share this post:
Like it 8

Leave a Comment

Please, enter your name.
Please, provide a valid email address.
Please, enter your comment.
Enjoy this post? Join Cesko.wiki
Don’t forget to share it
Top