NGINX, vyslovovaný jako „engine-ex“, měl svou oficiální verzi v říjnu 2004. Tvůrce softwaru Igor Sysoev zahájil svůj projekt v roce 2002 jako pokus odpovědět na problém C10k. C10k je výzvou pro správu deseti tisíc připojení současně.
Dnes existuje ještě více připojení, které musí webové servery zvládnout. Z tohoto důvodu NGINX nabízí událostmi řízenou a asynchronní architekturu. Tato funkce dělá z NGINX jeden z nejspolehlivějších serverů z hlediska rychlosti a škálovatelnosti.
Díky své skvělé schopnosti zvládnout velké množství připojení a rychlosti využívá služby NGINX mnoho webů s vysokou návštěvností. Někteří z těchto online gigantů jsou Google, Netflix, Adobe, Cloudflare, WordPress.com a mnoho dalších.
Jak NGINX funguje?
Než se o NGINX dozvíme více, podívejme se, jak funguje webový server. Když někdo požádá o otevření webové stránky, prohlížeč kontaktuje server této webové stránky. Poté server vyhledá požadované soubory pro stránku a odešle je do prohlížeče. Toto je pouze nejjednodušší druh požadavku.
Výše uvedený příklad je také považován za jedno vlákno. Tradiční webové servery vytvářejí jedno vlákno pro každý požadavek, ale NGINX takto nefunguje. Jak bylo uvedeno dříve, NGINX funguje s asynchronní architekturou řízenou událostmi. To znamená, že podobná vlákna jsou spravována v rámci jednoho pracovního procesu a každý pracovní proces obsahuje menší jednotky zvané pracovní připojení. Celá tato jednotka je pak zodpovědná za zpracování vláken požadavků. Pracovní připojení doručují požadavky pracovnímu procesu, který je také odešle do hlavního procesu. Nakonec hlavní proces poskytne výsledek těchto požadavků.
Může to znít jednoduše, ale jedno pracovní připojení se může postarat až o 1024 podobných požadavků. Díky tomu může NGINX bez problémů zpracovat tisíce požadavků. To je také důvod, proč se NGINX stal vynikajícím pro rušné weby, jako je elektronický obchod, vyhledávače a cloudová úložiště.
NGINX vs Apache
Mezi populárními webovými servery je Apache jedním z hlavních rivalů pro NGINX. Existuje již od 90. let a má také velkou uživatelskou komunitu. Pokud jste zvědaví, který webový server je pro vaše potřeby nejlepší, podívejte se na toto krátké a informativní srovnání mezi NGINX a Apache.
- Podpora OS
Kompatibilita je jedním z malých detailů, které byste měli zvážit při výběru softwaru. NGINX i Apache mohou běžet na mnoha operačních systémech, které podporují systém Unix. Výkon NGINX na Windows bohužel není tak skvělý jako na jiných platformách. - Uživatelská podpora
Uživatelé, od začátečníků po profesionály, vždy potřebují dobrou komunitu, která jim může pomoci, když čelí problémům. Zatímco NGINX i Apache mají podporu e-mailu a fórum Stack Overflow, Apache postrádá podporu od své společnosti Apache Foundation. - Výkon
NGINX dokáže současně spustit 1000 připojení statického obsahu dvakrát rychleji než Apache a používá o něco méně paměti. Ve srovnání s výkonem při spouštění dynamického obsahu však mají oba stejnou rychlost. NGINX je lepší volbou pro ty, kteří mají statičtější web.
Další informace o NGINX
- Jak vytvořit přesměrování pomocí NGINX
- Jak nainstalovat WordPress pomocí NGINX na Ubuntu
Závěr
NGINX je webový server, který také funguje jako e-mailový proxy, reverzní proxy a nástroj pro vyrovnávání zatížení. Struktura softwaru je asynchronní a řízená událostmi; který umožňuje zpracování mnoha požadavků současně. NGINX je také vysoce škálovatelný, což znamená, že jeho služba roste spolu s návštěvností klientů. NGINX a Apache jsou skutečně dva z nejlepších webových serverů na trhu.