7 Open Source webové servery pro malé až velké weby

Photo of author

By etechblogcz

Od počátků prvního webového serveru jsme urazili pozoruhodnou cestu. Současná nabídka možností je mnohem širší a nabízí zajímavá řešení.

Různé projekty vyžadují odlišné přístupy, nicméně oblast open-source webových serverů byla dlouho doménou několika málo hráčů. Apache po dlouhou dobu představoval téměř jedinou volbu, a řešení situací s vysokým zatížením představovalo značný problém. Naštěstí se situace změnila a objevily se nová, specializovaná řešení.

Pojďme se tedy podrobněji podívat na některé z nejlepších a nejoblíbenějších open-source webových serverů, které jsou dnes k dispozici.

Apache

Apache je prakticky synonymem pro World Wide Web a stále je páteří většiny webových stránek na celém světě.

Dominanci Apache lze přičíst třem hlavním faktorům: open-source licenci, brzkému uvedení na trh (první verze se objevila již v roce 1995!) a snadné implementaci PHP. Poslední bod umožnil modul mod_php, což znamenalo, že pro vývoj v PHP stačilo pouze nainstalovat Apache.

Zde je několik aspektů, díky kterým je Apache výjimečný:

  • Dostupnost na různých platformách – Linux, Windows, macOS a další systémy.
  • Je výchozím serverem pro všechny sdílené hostingy CPanel, což usnadňuje nastavení a správu webových stránek.
  • Široká škála funkcí díky rozsáhlé sbírce modulů. Bez ohledu na specifické požadavky, pravděpodobně existuje vhodný modul pro Apache.
  • Možnost konfigurace jednotlivých adresářů pomocí souborů .htaccess.
  • Podpora HTTP/2, komprese, statických souborů a vyrovnávání zátěže.
  • MPM a FastCGI režimy pro zajištění vysokého souběžného zpracování.
  • Snadné skriptování s využitím Lua.

Je Apache vhodný právě pro vás?

Stručně řečeno, ano. V minulosti se Nginx (který budeme zkoumat dále) stal populárním díky svému vysokému výkonu, nicméně Apache ho po vydání verze 2.2 dohonil. Nicméně, Nginx si díky své průkopnické pozici získal značnou pozornost, takže se můžete setkat s některými (již neplatnými) kritikami na adresu schopností Apache.

Nginx

Pokud sledujete nejnovější trendy, je pravděpodobné, že jste již slyšeli o Nginx (vyslovuje se jako „engine-x“, což byl původní záměr za jeho názvem). Projekt byl spuštěn v roce 2002 ruským inženýrem, který byl nespokojen s tehdejšími řešeními a chtěl překonat C10k problém (efektivní zpracování tisíců souběžných připojení).

Nástup Nginx vyvolal takový rozruch, že se mnoho uživatelů přesunulo z Apache a už se neohlédlo zpět. Tento trend pokračuje i dnes. Přestože je Apache v současnosti pravděpodobně srovnatelný, Nginx nabídl několik pozoruhodných vylepšení, která mu pomohla získat náskok.

  • Asynchronní architektura pro zvládání vysokého zatížení.
  • Špičkové zpracování statických souborů, vyrovnávání zátěže a reverzní proxy funkce.
  • Rychlé ukládání do mezipaměti CGI.
  • Podpora pro uwsgi, SCGI a další serverové protokoly s ukládáním do mezipaměti.
  • Gzipování, transformace obrazu, bajtové rozsahy, chunked responses, a také streamování FLV a MKV.
  • WebSockets, keepalive a pipeline připojení.
  • Řízení přístupu, přesměrování chyb a další funkce.

Celkově je Nginx výkonný server s mnoha funkcemi, které ho drží na špici. Vzhledem k tomu, že mateřská společnost je stabilní, nabízí placenou podporu a konzultace pro komplexnější projekty, což může být pro některé užitečné.

Je Nginx vhodný právě pro vás?

Pokud si rádi upravujete webové aplikace dle vlastních představ, Nginx je skvělá volba. Umožňuje návrh složitých a distribuovaných systémů s efektivním ukládáním do mezipaměti, proxy a vyrovnáváním zátěže, navíc umožňuje přímé obsluhování statických souborů s několika optimalizacemi.

A ano – Nginx je připraven na HTTP/2.

Zajímá vás Nginx? Podívejte se na tento základní kurz.

Caddy

Jedním z nejzajímavějších nových projektů, který se v open-source komunitě v poslední době rozvíjí, je Caddy.

Caddy lze považovat za webový server podobný Nginx (sdílí podobnou syntaxi), ale s důrazem na maximální jednoduchost. Například integrace Let’s Encrypt pro SSL certifikáty vyžaduje pouhé tři řádky konfigurace.

Zde je důvod, proč Caddy přitahuje tolik pozornosti:

  • HTTPS je ve výchozím nastavení aktivní. Pro instalaci a obnovu SSL certifikátů není třeba nic konfigurovat.
  • HTTP/2 je hlavním standardem.
  • Ve výchozím nastavení rotuje klíče relace TLS. To umožňuje bezpečnější správu TLS připojení, která není náchylná k útokům typu Heartbleed.
  • Žádné závislosti (binární kód sestavený v Golangu nezávisí na systémových knihovnách).
  • Ve výchozím nastavení poskytuje statické soubory z aktuálního adresáře!
  • Možnost vložení – Caddy lze používat jako knihovnu v jiných programech.

Je Caddy vhodný právě pro vás?

Pokud hledáte jednoduchost a složité konfigurace jako u Apache a Nginx vás odrazují, Caddy vám přijde vhod. Nicméně, Caddy funguje nejlépe, pokud vám vyhovují jeho výchozí nastavení. Pokud například chcete používat vlastního poskytovatele SSL certifikátů, mít samostatný adresář pro statické soubory (což je téměř vždy potřeba) a podobně, výhody se ztrácejí.

Můžete získat Caddy na Kamatera VM již od 4 USD měsíčně.

Lighthttpd

Většina moderních webových serverů selhává v efektivním využívání zdrojů. Lighthttpd byl navržen tak, aby tento problém vyřešil v prostředích s omezenou pamětí a procesorovým výkonem.

Lighthttpd využívá asynchronní model zpracování požadavků, podobně jako Nginx. Má však jednu nevýhodu – Lighthttpd funguje v jednom vlákně, takže pokud máte výkonnější počítač, bude ignorovat ostatní jádra procesoru. Také mu chybí některé pokročilejší funkce Nginx, jako je SSL proxy, HTTP/2 a podobně.

Je Lighthttpd vhodný právě pro vás?

Lighthttpd je schopný jednovláknový webový server, který zvládne zpracovat několik stovek požadavků za sekundu a přitom šetřit systémové zdroje. Kromě toho však ve srovnání s alternativami nenabízí mnoho dalšího. Takže, pokud nepotřebujete všechny „vychytávky“ a opravdu máte problémy s nedostatkem systémových zdrojů, Lighthttpd stojí za zvážení.

MonkeyServer

I přes svůj zvláštní název, Monkey webový server je zajímavý projekt, který je stále aktivně vyvíjen a podporován.

Hlavní výhodou MonkeyServeru je jeho podpora pro embedded platformy. Server je nutné si zkompilovat, ale lze z něj „vymáčknout“ lehký a rychlý webový server.

  • Primárně se zaměřuje na Linux, ale je podporován i na macOS.
  • Plná podpora pro procesory ARM.
  • Perfektně funguje na Androidu, Raspberry Pi a dalších vestavěných platformách.
  • Minimální spouštěcí doba (100 kB bez pluginů).
  • Podporuje IPv6 a TLS.
  • Pracuje s CGI a FastCGI.
  • Základní autentizace, bezpečnostní pravidla a další funkce.

Je MonkeyServer vhodný právě pro vás?

Pokud se zaměřujete na vestavěná zařízení, MonkeyServer je to, co hledáte. Funguje však dobře i na architekturách x86 a x86-64 a lze jej použít pro provoz rozsáhlých aplikací na výkonných strojích. Má mnohem aktivnější komunitu než některé jiné alternativní webové servery, takže pokud potřebujete pomoc, nebudete se cítit ztraceni.

OpenLiteSpeed

OpenLiteSpeed je open-source varianta firemního webového serveru od společnosti LiteSpeed Technologies.

Existuje mnoho důvodů, proč mít OpenLiteSpeed v oblibě:

  • Kompatibilita s mod_rewrite Apache, což usnadňuje migraci stávajících souborů Apache.
  • Architektura řízená událostmi podobná Nginx, což vede k vysoké propustnosti.
  • Administrační rozhraní založené na GUI, které nabízí příjemnou konfiguraci.
  • Nativní SAPI pro PHP, což má za následek vyšší výkon.
  • Ve výchozím nastavení používá ukládání do mezipaměti a optimalizace Google PageSpeed Insights.

Je OpenLiteSpeed vhodný právě pro vás?

OpenLiteSpeed je skvělou volbou pro weby s obsahem založené na WordPress, protože optimalizace stránek je již součástí serveru. Vzhledem k tomu, že je optimalizovaný pro výkon PHP, mohou z něj profitovat i další projekty založené na PHP.

Cherokee

Projekt Cherokee vznikl z osobní potřeby vývojáře a postupně se rozrostl v robustní platformu webového serveru. I když nedisponuje špičkovými funkcemi jako Nginx, nabízí snadnou, zábavnou a výkonnou alternativu ke standardním webovým serverům.

Největší výhodou Cherokee je jeho jednoduchost – pro konfiguraci serveru nemusíte používat příkazovou řádku. Uživatelsky přívětivé webové rozhraní je součástí instalace a jeho používání je potěšením pro ty, kteří dávají přednost metodě „point-and-click“.

Zdroj: Linode

Přestože Cherokee není příliš aktivně vyvíjen, stále je to dobrá volba pro většinu běžných projektů. Rozhodně stojí za vyzkoušení!

Závěr

Svět bez webových serverů by byl nepředstavitelný a naštěstí máme z čeho vybírat. Jaký je váš oblíbený open-source webový server? Pokud si myslíte, že jsem v tomto seznamu něco opomněl, dejte mi prosím vědět v komentářích a rád ho přidám! 🙂