Soubory ke stažení

10 nejlepších webových serverů s otevřeným zdrojovým kódem pro Linux

10 nejlepších webových serverů s otevřeným zdrojovým kódem pro Linux

Tento článek čtete z webu poháněného webovým serverem s otevřeným zdrojovým kódem jednoduše proto, že webové servery s otevřeným zdrojovým kódem využívají více než 80% webů a aplikací. Termín webový server lze zaměnitelně použít k označení hardwaru nebo softwaru používaného k poskytování obsahu koncovým uživatelům nebo klientům prostřednictvím protokolu HTTP.

Webové servery se vyvíjejí a neustále se zdokonalují od počátku 90. let. Existují různé typy webových serverů a lze je vytvořit pro konkrétní potřeby, pro určité technologie nebo jako speciální možnosti pro určité společnosti.

Tento článek uvádí seznam některých spolehlivých a populárních projektů webového serveru s otevřeným zdrojovým kódem, které jsou k dispozici k instalaci a spuštění vaší aplikace nebo webu.

Webové servery s otevřeným zdrojovým kódem pro Linux

Webový server může odkazovat na celý hardwarový a softwarový systém nebo konkrétně na software, který přijímá a obsluhuje požadavky HTTP od klientů.

Jako software webový server řídí a spravuje, jak jsou hostované soubory poskytovány klientům. Může to být server HTTP, který rozumí adresám URL a protokolům HTTP nebo HTTP / 2.

Jako hardware je webový server počítač, který je hostitelem softwaru webového serveru a souborů webových komponent, jako jsou stránky HTML, šablony stylů CSS, obrázky nebo soubory JavaScriptu.

Kdykoli uživatel, jako jste vy, potřebuje soubor nebo informace hostované na webovém serveru, k odeslání požadavku použijete webový prohlížeč. Požadavek je odeslán na příslušný webový server (hardware), kde server HTTP požadavek přijme, najde příslušný soubor a prostřednictvím protokolu HTTP jej odešle zpět do klientského prohlížeče.

Statický webový server odešle hostované soubory tak, jak jsou, do vašeho prohlížeče.
Dynamický webový server obsahuje databázi a aplikační server, který aktualizuje hostované soubory před jejich odesláním do vašeho prohlížeče přes HTTP.

1: Apache HTTP Web Server

Původně vydaný v roce 1995 je nejpopulárnějším webovým serverem. Podle statistik využití webových serverů od w3tech.com, Apache vládne kolem 33.9% webových aplikací a webů v síti WWW. Je vydáván pod licencí Apache License verze 2, která vyžaduje zachování oznámení o autorských právech a zřeknutí se odpovědnosti, ale nevyžaduje distribuci upravených verzí pomocí stejné licence. Funguje ve všech populárních operačních systémech, jako jsou Linux, Unix, Windows, Mac OS X, FreeBSD, Solaris, Novell Netware, OS / 2 atd.

Apache HTTP je napsán v jazyce C a používá modulární architekturu, která je vysoce přizpůsobitelná a může načíst další moduly pro rozšíření svých funkcí. Patří mezi ně mod_proxy, který na vašem serveru povolí proxy / bránu, mod_proxy_balancer umožní vyvážení zátěže pro všechny podporované protokoly. mod_file_cache pro ukládání do mezipaměti, mod_ftp pro podporu FTP pro nahrávání a stahování, nebo mod_ssl pro podporu šifrovacího protokolu SSL / TLS.
Mezi další pozoruhodné moduly patří modul proxy (mod_proxy), mod_rewrite (modul přepisu URL), mod_include a mod_ext_filter.

Apache také nabízí populární kompresní metodu obsaženou v externím rozšiřujícím modulu mod_gzip. Byl vytvořen, aby pomohl snížit velikost webových stránek poskytovaných přes HTTP. Vlastní logfiles (mod_log_config) spravují soubory protokolu, které lze analyzovat prostřednictvím webového prohlížeče. Obsahuje ModSecurity pro správu detekce a prevence narušení webových aplikací.

Žádoucí vlastnosti

Od verze 2.4, Apache podporuje HTTP / 2 prostřednictvím mod_http / 2, což zvyšuje výkon. Apache byl považován za mírně pomalejší než Nginx (asynchronní webový server založený na událostech), což vedlo k většímu přijetí Nginx, ale uživatelé byli svědky zlepšeného výkonu od Apache 2.2.

2: Webový server Apache Tomcat

Apache Tomcat je populární webový server podnikové úrovně dostupný na trhu. Je sestaven tak, aby hostoval webová řešení Java, jejichž použití je ve velkých organizacích relativně časté a hojné díky vysoké škálovatelnosti, výkonu a množství nástrojů dostupných pro ekosystém Java. Apache Tomcat je vyspělý webový server, jehož vytvoření připisuje James Duncan Davidson z nadace Apache. Tomcat byl před více než 20 lety vyvíjen softwarovou nadací Apache jako webový server Apache.

Tomcat je servlet Java, který přichází s rozšířenou funkcí pro interakci s servlety Java a implementuje technické specifikace, jako jsou JavaServer Pages (JSP) a Java Expression Language (Java EL).

Tomcat je vyroben z několika komponentů jako Coyote, Catalina, Jasper, Cluster atd. Catalina je kontejner servletu, zatímco Coyote je komponenta konektoru, která podporuje HTTP 1.1. jako webový server. Umožňuje Catalině (servlet Java nebo kontejner JSP) fungovat jako webový server, který poskytuje místní soubory jako dokumenty HTTP. Jasper je Tomcatův JSP engine a analyzuje JSP soubory, aby je zkompiloval do Java kódu jako servlety. Komponenta Cluster spravuje velké aplikace prostřednictvím vyrovnávání zatížení a dalších technik.

Můžete spustit Apache Tomcat společně s Apache HTTP a usnadnit tak projekty v prostředí Java i PHP. Tomcat také podporuje AWS (Amazon Web Services), takže je ideální pro cloudová řešení. Eclipse IDE podporuje Tomcat, což vývojářům usnadňuje vytváření a nasazování aplikací.

Žádoucí vlastnosti

Webový server Apache Tomcat je lepší volbou pro webové aplikace Java. Apache Tomcat je často uveden mezi ostatními aplikačními servery Java s otevřeným zdrojovým kódem, jako jsou JBoss, Wildfly a Glassfish.

3: Nginx Webserver

Nginx read 'Engine-x' je open-source, vysoce výkonný a robustní webový server. Lze jej nasadit jako nástroj pro vyrovnávání zatížení, reverzní proxy, proxy server IMAP / POP3 a bránu API. Igor Sysoev jej vyvinul v roce 2002 jako odpověď na problém C10K. Problém C10k je problém optimalizace síťových soketů a webových serverů pro zpracování deseti tisíc souběžných připojení a klientů. Popularita Nginx rostla přibližně na 33.7% všech webových stránek.

Nginx se při zpracování velkého počtu souběžných relací spoléhá na asynchronní architekturu řízenou událostmi. Stala se populární mezi administrátory kvůli nízkému využití zdrojů, vysoké souběžnosti a škálovatelnosti. Je ideální pro hostování webů s vysokým provozem a dokáže zpracovat až 500 000 požadavků za sekundu s nízkým využitím CPU.

Nginx lze použít jako samostatný webový server nebo jako server se statickým obsahem před jiným webovým serverem. Kromě toho můžete nasadit Nginx k poskytování dynamického obsahu HTTP v síti pomocí obslužných programů SCGI pro skripty, aplikačních serverů FastCGI, WSGI nebo modulů Phusion Passenger.

Žádoucí vlastnosti

Nginx má dvě zavedené verze, OSS Nginx a Nginx Plus. Nginx Plus nabízí další funkce, jako jsou aktivní kontroly stavu, vytrvalost relací, integrace DNS-služby-zjišťování, Datalog, pluginy Dynatrace New Relic, API pro vyčištění mezipaměti, AppDynamic, Active-Active HA se synchronizací konfigurace. Rozhraní Nginx Plus API podporuje úložiště klíč – hodnota.

Nginx byl navržen tak, aby konkuroval serveru Apache, aby poskytoval statické soubory, používal méně paměti a nacházel odpovědi na problém c10k. Můžeme s jistotou říci, že v této kategorii poráží Apache. Proto jej nasadili oblíbené weby s vysokou návštěvností, jako je Facebook, LinkedIn a Twitter. Další informace o projektu naleznete na oficiální domovské stránce Nginx.

4: Uzel.js webový server

Uzel.js je běhové prostředí na straně serveru, které se používá k vytváření webových aplikací v jazyce Javascript. Je dodáván s modulem HTTP, který rozšiřuje jeho funkce webového serveru. Uzel.js původně napsal v roce 2009 Ryan Dahl a v současné době je autorem 1.2% všech webových stránek.

Uzel.js implementuje architekturu řízenou událostmi, která je schopná asynchronního I / O. Optimalizuje propustnost a škálovatelnost a ve webových aplikacích můžete efektivně implementovat komunikaci v reálném čase. Klíčový rozdíl mezi uzlem.js a další webové servery je, že je součástí zásobníku pro vývoj webových aplikací vytvořeného ze zásobníku CSS, HTML a JavaScript.
Uzel.Projekt js se řídí uzlem.js Foundation a je k dispozici na základě kombinace licencí. Zjistěte více z Uzlu.web projektu js.

5: Caddy Webserver

Caddy je rychlý a výkonný multiplatformní webový server, reverzní proxy, brána API a nástroj pro vyrovnávání zatížení. Projekt Caddy navrhl Mathew Holt a je napsán v jazyce Go. Jedná se o nový rámec a silně získává pozornost a pozornost v rámci open-source jako alternativa k webovému serveru Apache.

Caddy je postaven bez závislostí, takže je přenosný a snadno se instaluje a používá v různých distribucích. Caddy podporuje funkce jako IPv6, Markdown, WebSockets, FastCGI, šablony atd. Caddy ve výchozím nastavení aktivuje HTTPS pro weby s kvalifikovanými názvy domén a přesměruje požadavky HTTP na HTTPS. Během spouštění získává certifikáty a stále je obnovuje po celou dobu životnosti serveru.

Zajímavé je, že má funkci `` TLS na vyžádání``, která nabízí alternativní metodu konfigurace, která umožňuje společnosti Caddy získávat certifikáty pouze podle potřeby během ověřování TLS. Je k dispozici ve všech hlavních distribucích, jako jsou MAC, Windows, Android, Linux, BSD a Solaris.

Žádoucí vlastnosti

Caddy je skvělým kandidátem pro uživatele, kteří hledají jednoduchost a rádi pracují s výchozími konfiguracemi. Je to ideální webový server pro spouštění aplikací napsaných v GO. Podle w3tech aktuálně ovládá 0.1% všech webových stránek.

6: Eclipse Jetty Webserver

Eclipse Jetty je navržen a postaven jako server HTTP, klient HTTP a kontejner servletu javax, aby sloužil statickému a dynamickému obsahu jako samostatná nebo vložená instance. Webový server Jetty a další základní součásti jsou hostovány a udržovány v Eclipse Foundation.
Jetty je lehký a vysoce škálovatelný webový server a servlet. Jetty je plně asynchronní webový server, který je orientovaný na komponenty a lze jej snadno zabudovat do jiných aplikací. Podporuje webové protokoly jako HTTP, HTTP / 2 a WebSocket. Tyto technologie implementují velkoobjemovou architekturu s nízkou latencí a maximálním výkonem při zachování její jednoduchosti a kompatibility. Může dosáhnout vynikajících výsledků s desítkami tisíc současných připojení HTTP a připojení WebSocket.

Jetty má malou stopu, která umožňuje webovým vývojářům efektivně nasazovat a konfigurovat Jetty v jakémkoli prostředí bez obav z nechtěného použití režie nebo paměti. Díky malé paměťové stopě můžete spustit více instancí serveru na virtuálním hardwaru, což je dobrá volba v cloudových implementacích a infrastruktuře.

Žádoucí vlastnosti

Eclipse našel přijetí v mnoha projektech, jako jsou Apache ActiveMQ, Google App Engine, Alfresco, Apache Geronimo, Apache Maven, Apache Spark, Eclipse a Twitter's Streaming API. Zjistěte více zde.

7: Webový server Lighttpd

Lighttpd nebo Lighty je bezplatný webový server s otevřeným zdrojovým kódem vytvořený pro aplikace kritické pro rychlost. Je bezpečný, rychlý, flexibilní a má minimální stopu menší než 1 MB. Díky malým rozměrům je velmi hospodárný se zdroji serveru a využitím procesoru. Lighttpd je distribuován pod licencí BSD a je oblíbený pro svou jednoduchost, výkon a podpůrné moduly.

Lighttpd je postaven na modelu asynchronního zpracování požadavků, který je nezbytný pro zpracování a správu velkého objemu paralelních připojení, což z něj činí ideální volbu pro vysoce výkonné webové aplikace. Někdo by mohl říci, že zrcadlí architekturu v Nginxu. Podporuje FastCGI, CGI a SCGI pro propojení vašeho webového serveru s jinými programy. Podporuje také aplikace napsané v jiných jazycích, jako jsou Python, Perl, PHP a Ruby, které jsou mezi vývojáři oblíbenými vývojovými jazyky.

Mezi další pokročilé funkce Lighty patří; Ověřování, přepisování adres URL, podpora SSL / TLS, virtuální hosting a komprese výstupu HTTP prostřednictvím modulu mod_compress.

Žádoucí vlastnosti

Lighttpd je webový server s jedním vláknem, který dokáže snadno zpracovat několik stovek požadavků za sekundu a je dobrou volbou pro uživatele, kteří čelí výzvám v prostředích s nízkou pamětí a nízkou CPU. Lighty běží nativně na systémech Linux / Unix, ale můžete jej spustit také na platformě Microsoft Windows. Další informace o statistice využití, licencování a podpoře najdete na domovské stránce Lighttpd.

8: OpenLiteSpeed ​​Webserver

OpenLiteSpeed ​​je open-source alternativa k edici serveru LiteSpeed ​​Enterprise Web. Je postaven pro jednoduchost, zabezpečení, optimalizaci a přichází se všemi základními funkcemi edice Enterprise.

OpenLiteSpeed ​​je navržen na architektuře založené na událostech a optimalizované pro zdroje. Dodává se s intuitivním grafickým uživatelským rozhraním WebAdmin pro správu webů a sledování různých sad metrik serveru. OpenLiteSpeed ​​je optimalizován k provádění skriptů navržených v široké škále jazyků, jako je Perl, Python, Ruby a Java. Podporuje IPv6 a SSL / TLS.

Žádoucí vlastnosti

OpenLiteSpeed ​​je univerzální a můžete jej nakonfigurovat jako nástroj pro vyrovnávání zatížení nebo reverzní proxy. OpenLiteSpeed ​​je zdarma ke stažení a je k dispozici pod licencí GPLv3. Je to dobrá volba pro obsahové weby založené na WordPress.

9: H2O Web Server

H2O je open-source server HTTP nové generace. Může se pochlubit rychlejší dobou odezvy a menším využitím CPU ve srovnání se staršími generacemi webových serverů. H2O je navrženo a postaveno od základu k vytvoření plnohodnotných implementací HTTP / 2.

Uživatelé H2O mohou využívat nové funkce protokolu HTTP / 2, jako je optimalizace latence, serverový push, prioritní zobrazování obsahu a serverový push. Tyto funkce mohou využívat výhod moderních funkcí prohlížeče.

Žádoucí vlastnosti

H20 je napsán v programovacím jazyce C a lze jej také použít jako knihovnu. H2O je k dispozici pod licencí MIT. Zjistěte více o statistikách používání H2O.

10: Cherokee Web Server

Cherokee je lehký, rychlý, flexibilní a výkonný webový server pro různé platformy s otevřeným zdrojovým kódem. Byl vyvinut jako projekt osobního rozvoje, ale rozrostl se na slušný webový server, který běží na Linuxu, BSD, Solaris, MAC a Windows.

Cherokee dělá náš seznam kvůli jeho jednoduchosti. Dodává se s přátelským webovým rozhraním a nemusíte ovládat mnoho konfigurací příkazového řádku, abyste jej spustili a fungovali.
Podporuje technologie jako FastCGI, CGI, SSI, SCGI, PHP, TLS a SSL šifrované připojení, VirtualHosts, vyvažování zátěže a soubory protokolu kompatibilní s Apache.

Cherokee dokáže zpracovat souběžná připojení na nízké paměti a zvyšuje výkon hardwaru. Má modulární architekturu, kterou lze upravit a rozšířit pomocí průvodce správou za účelem provádění konkrétních úkolů, rozšiřování aplikací a spouštění rámců.

Žádoucí vlastnosti

Přestože se aktivně nevyvíjí, je to dobrý webový server pro jednoduché projekty. Podporuje PHP, Django, Ruby on Rails, ColdFusion, Alfresco, Symfony, GNU Mailman, .NET s Mono, rTorrent a Zend Engine, což vám dává mnoho alternativ k sestavení vašeho projektu.

Učte se zkoušením

Pokud začínáte na webových serverech, vyzkoušejte hromádky LEMP (Linux, Nginx, MySQL, PHP) nebo LAMP (Linux, Apache, MySQL, PHP). Tyto balíčky můžete snadno nainstalovat pomocí jednoduchých instalačních programů a jsou k dispozici také ve vašem správce balíčků Linux. Poskytne vám praktické zkušenosti s fungováním webových serverů.

Zahrnul jsem některé oblíbené webové servery (Apache, Nginx), novější (H2O, Node.js) a podíval se na webový server Jetty podporovaný technologiemi Java. Seznam není v žádném případě rozsáhlý a díky dalšímu výzkumu můžete objevit další technologie webových serverů, které můžete vyzkoušet nebo použít pro svůj projekt.

Jak změnit levé a pravé tlačítko myši na počítači se systémem Windows 10
Je úplnou normou, že všechna zařízení počítačových myší jsou ergonomicky navržena pro praváky. K dispozici jsou však myší zařízení, která jsou speciál...
Emulace kliknutí myší vznášením pomocí myši Clickless Mouse ve Windows 10
Používání myši nebo klávesnice ve špatném držení těla nadměrného používání může mít za následek mnoho zdravotních problémů, včetně napětí, syndromu ka...
Přidejte gesta myši do Windows 10 pomocí těchto bezplatných nástrojů
V posledních letech se počítače a operační systémy značně vyvinuly. Bývaly doby, kdy uživatelé museli procházet správci souborů pomocí příkazů. Stejně...