Nginx | |
---|---|
logo nginx | |
Typ | webový server a proxy server |
Autor | Igor Vladimirovič Sysoev |
Vývojář | Společnost NGINX Inc. [d] aIgor Vladimirovič Sysoev |
Zapsáno v | C [5] |
Operační systém | Operační systém podobný Unixu a Microsoft Windows |
První vydání | 4. října 2004 [1] |
Nejnovější verze | |
Testovací verze |
|
Čitelné formáty souborů | Certifikát kódovaný PEM [d] [6], soukromý klíč RSA kódovaný PEM [d] [6]a stránky Nginx-dostupné [d] |
Licence | 2-klauzule BSD licence [7] [8] |
webová stránka | nginx.org _ |
Mediální soubory na Wikimedia Commons |
Nginx (e ngin e x - v ruštině se vyslovuje jako enginx nebo engin-x [9][Comm 1] ) je webový server a poštovní proxy server běžící na operačních systémech podobných Unixu (testovaná montáž a provoz na FreeBSD , OpenBSD , Linux , Solaris , macOS , AIX a HP-UX ). Počínaje verzí 0.7.52 se objevilo experimentální binární sestavení pro Microsoft Windows [10] .
Igor Sysoev zahájil vývoj v roce 2002 [11] . Na podzim roku 2004 byla vydána první veřejně dostupná verze. Od července 2011 probíhají práce na nginxu v rámci společnosti Nginx.
Nginx je výrobcem umístěn jako jednoduchý, rychlý a spolehlivý server, který není přetížen funkcemi.
Použití nginx je nejlepší pro statické webové stránky a jako reverzní proxy pro dynamické webové stránky .
V nginx obsluhují pracovní procesy mnoho připojení současně a multiplexují je pomocí volání operačního systému select, epoll ( Linux ) a kqueue ( FreeBSD ). Pracovní procesy provádějí smyčku událostí z ovladačů (viz programování řízené událostmi ). Data přijatá od klienta jsou analyzována pomocí stavového automatu . Analyzovaný požadavek je postupně zpracováván řetězcem modulů určeným konfigurací. Odpověď klientovi je tvořena ve vyrovnávacích pamětech , které ukládají data buď do paměti , nebo ukazují na segment souboru. Buffery jsou sloučeny do řetězců, které určují pořadí, ve kterém budou data přenášena ke klientovi. Pokud operační systém podporuje efektivní I/O operace, jako je writev a sendfile , pak je nginx použije, kdykoli je to možné.
Algoritmus HTTP serveru je následující [12] :
Konfigurace nginx HTTP serveru je rozdělena na virtuální servery (direktiva "server"). Virtuální servery jsou rozděleny do umístění ("umístění"). U virtuálního serveru je možné nastavit adresy a porty, na kterých budou akceptována spojení, a také jména, která mohou obsahovat "*" pro označení libovolné sekvence v první a poslední části nebo mohou být specifikována regulárním výrazem.
umístění lze specifikovat přesným URI , částí URI nebo regulárním výrazem . Umístění lze nakonfigurovat tak, aby obsluhovala požadavky ze statického souboru, přes proxy server fastcgi/memcached.
Pro efektivní správu paměti používá nginx fondy . Fond je posloupnost předem přidělených bloků dynamické paměti. Délka bloku se pohybuje od 1 do 16 kilobajtů. Zpočátku je pro fond přidělen pouze jeden blok. Blok je rozdělen na obsazenou oblast a neobsazenou oblast. Výběr malých objektů se provádí přesunutím ukazatele na neobsazenou oblast s přihlédnutím k zarovnání. Pokud neobsazená oblast ve všech blocích nestačí k přidělení nového objektu, je přidělen nový blok. Pokud velikost alokovaného objektu překročí hodnotu konstanty NGX_MAX_ALLOC_FROM_POOL nebo délku bloku, pak je celý alokován z haldy.
Malé objekty jsou tedy alokovány velmi rychle a mají pouze režii zarovnání .
nginx obsahuje modul pro geografickou klasifikaci klientů podle IP adresy . Je založen na databázi korespondence IP adres s geografickým regionem, reprezentovaným jako radixový strom (komprimovaný strom předpon nebo komprimovaný les) v paměti RAM . nginx předem alokuje prvních několik úrovní stromu tak, aby zabíraly přesně 1 stránku paměti. To zajišťuje, že při vyhledávání IP adresy pro prvních několik uzlů v překladu adres bude vždy záznam v TLB .
V srpnu 2020 přesáhl počet stránek obsluhovaných nginx podle Netcraftu 448 milionů , což z něj dělá první nejpopulárnější webový server na světě . Podíl mezi aktivními weby je 19,74 % , což staví nginx na druhé místo za webový server Apache [13] .
Podle W3Techs se nginx nejčastěji používá na vysoce vytížených webech [14] , řadí se na první místo z hlediska frekvence používání mezi 100 000 nejnavštěvovanějšími weby na světě – více než třetina z nich běží na nginx.
Podle ruského registrátora REG.RU je nginx nejoblíbenějším webovým serverem pro zóny domén .ru [15] , .rf [16] a .su [17] a obsluhuje více než polovinu každého segmentu.
NGINX je nejpopulárnější webový server v Rusku s podílem na trhu 65,90 % [18] .
Mezi známé projekty využívající nginx: Rambler [19] , Yandex [20] , VKontakte [21] , Facebook , Netflix [22] , Instagram [23] , Mail.ru , Habr [24] , LiveJournal [25] , Avito .ru [26] , Badoo [27] , Ukr.net , Begun , Wordpress.com , SourceForge.net [28] , Qiwi.com [29] , Groupon , Rutracker.org [Comm 3] , Pinterest [30] , Tumblr [31] , Superjob.ru [32] , HeadHunter [33] , 2GIS [34] , Orcatec a mnoho dalších [13] .
Společnost Nginx Inc. | |
---|---|
Typ | soukromá společnost |
Základna | 2011 |
zrušeno | 2016 |
Důvod zrušení | převzala F5 Networks |
Zakladatelé | Igor Vladimirovič Sysoev |
Umístění | Spojené státy :San Francisco,Kalifornie |
Průmysl | vývoj softwaru ( ISIC :) 6201 |
produkty | Nginx, Nginx Plus |
webová stránka | nginx.com |
Mediální soubory na Wikimedia Commons |
Za účelem vývoje komerčních produktů vytvořil Igor Sysoev v červenci 2011 Nginx [35] . Vývoj probíhá v kanceláři v Moskvě, pro prodej byla vytvořena americká "dcera" - Nginx Inc [36] . V únoru 2012 začala společnost poskytovat placené služby [37] , byly představeny tři balíčky technické podpory – Premium, Advanced a Essential, v rámci kterých předplatitelé získali služby instalace, ladění výkonu, konfigurace, údržby, pomoci při návrhu a finální optimalizace.
V prosinci 2011 společnost získala 3 miliony dolarů od skupiny investorů (vedoucí v kole byl BV Capital ; spoluinvestoři byli Runa Capital a rodinný fond MSD Capital Michaela Della [36] [38] ) .
V říjnu 2013 společnost získala dalších 10 milionů dolarů. Hlavním investorem byla společnost New Enterprise Associates ; spoluinvestory byly všechny fondy z předchozího kola a také Aaron Levy , šéf Box.com [39] .
9. prosince 2014 byla oznámena další investice ve výši 20 milionů dolarů. Kolo vedl fond rizikového kapitálu New Enterprise Associates za účasti společností Index Ventures , Runa Capital, E.ventures (dříve BV Capital ) a generálního ředitele Nginx Guse Robertsona [40] [41] [42] .
Dne 11. března 2019 F5 Networks oznámila [43] nákup Nginx za 670 milionů $, obchod byl dokončen 9. května 2019 [44] [45] .
Dne 12. prosince 2019 vyšlo najevo, že korporace Rambler (46,5 % vlastní Sberbank of Russia [46] ) si nárokovala exkluzivní práva na zdrojový kód nginx, některá média informovala o vyhledávání v kanceláři Nginx a trestní věci podle čl. 146 Trestního zákoníku Ruské federace (Porušování autorských práv a práv s nimi souvisejících) [47] [48] [49] [50] . Dne 18. května 2020 byl případ zamítnut na základě ustanovení 1 části 1 článku 24 trestního řádu Ruské federace (nepřítomnost trestného činu) [51] [52] [53] .
18. ledna 2022 bylo oznámeno, že Igor Sysoev opouští Nginx a F5 [54] .
webové servery | |
---|---|
ASP.NET |
|
C | |
Erlang | |
Jáva | |
Štika |
|
Krajta | |
rubín |
![]() | |
---|---|
Tematické stránky |