Downloads

De 10 beste open source webservers voor Linux

De 10 beste open source webservers voor Linux

U leest dit artikel van een website die wordt aangedreven door een open-source webserver, simpelweg omdat open source webservers meer dan 80% van de websites en applicaties aansturen. De term webserver kan door elkaar worden gebruikt om te verwijzen naar de hardware of software die wordt gebruikt om inhoud via HTTP aan eindgebruikers of klanten te leveren.

Webservers zijn sinds het begin van de jaren 90 in ontwikkeling en voortdurend verbeterd. Er zijn verschillende soorten webservers en ze kunnen worden gebouwd voor specifieke behoeften, voor bepaalde technologieën of als speciale opties voor bepaalde bedrijven.

Dit artikel geeft een overzicht van enkele van de betrouwbare en populaire open source webserverprojecten die voor u beschikbaar zijn om te installeren en uw applicatie of website draaiende te krijgen.

Open source webservers voor Linux

Een webserver kan verwijzen naar het volledige hardware- en softwaresysteem, of specifiek naar de software die de HTTP-verzoeken van clients accepteert en bedient.

Als software controleert en beheert een webserver hoe gehoste bestanden aan klanten worden aangeboden. Het kan een HTTP-server zijn die URL's en de HTTP- of HTTP/2-protocollen begrijpt.

Als hardware is een webserver een computer die de webserversoftware en de websitecomponentbestanden host, zoals HTML-pagina's, CSS-stylesheets, afbeeldingen of JavaScript-bestanden.

Wanneer een gebruiker, zoals uzelf, een bestand of informatie nodig heeft die op een webserver wordt gehost, gebruikt u een webbrowser om het verzoek in te dienen. Het verzoek wordt verzonden naar de relevante webserver (hardware), waar de HTTP-server het verzoek accepteert, het juiste bestand vindt en het via HTTP terugstuurt naar de clientbrowser.

Een statische webserver stuurt gehoste bestanden zoals ze zijn naar uw browser.
Een dynamische webserver bevat een database en een applicatieserver die de gehoste bestanden bijwerkt voordat ze via HTTP naar uw browser worden verzonden.

1: Apache HTTP-webserver

Oorspronkelijk uitgebracht in 1995, is het de meest populaire webserver. Volgens gebruiksstatistieken van webservers van w3tech.com, Apache bevoegdheden rond 33.9% van de webapplicaties en websites op het World Wide Web. Het is vrijgegeven onder Apache-licentie versie 2, die het behoud van de copyrightmeldingen en disclaimers vereist, maar waarvoor geen aangepaste versies hoeven te worden verspreid met dezelfde licentie. Het draait in alle populaire besturingssystemen zoals Linux, Unix-achtig, Windows, Mac OS X, FreeBSD, Solaris, Novell Netware, OS/2, enz.

Apache HTTP is geschreven in C-taal en gebruikt een modulaire architectuur die in hoge mate aanpasbaar is, en het kan extra modules laden om de functies uit te breiden. Deze omvatten de mod_proxy, die een proxy/gateway op uw server mogelijk maakt, mod_proxy_balancer zal load balancing mogelijk maken voor alle ondersteunde protocollen. mod_file_cache voor caching, mod_ftp voor FTP-ondersteuning voor uploads en downloads, of mod_ssl voor SSL/TLS-coderingsprotocolondersteuning.
Andere opmerkelijke modules zijn de proxy-module (mod_proxy), mod_rewrite (URL-herschrijfmodule), mod_include en mod_ext_filter.

Apache beschikt ook over een populaire compressiemethode die is opgenomen in de externe uitbreidingsmodule, mod_gzip. Het is gebouwd om te helpen bij het verkleinen van webpagina's die via HTTP worden aangeboden. De aangepaste logbestanden (mod_log_config) beheren logbestanden die kunnen worden geanalyseerd via een webbrowser. Het beschikt over ModSecurity om inbraakdetectie en -preventie voor webtoepassingen te beheren manage.

Gewenste kenmerken

Vanaf versie 2.4, Apache ondersteunt HTTP/2 via de mod_http/2, wat de prestaties verbetert. Apache werd beschouwd als iets langzamer dan Nginx (asynchrone, gebeurtenisgestuurde webserver), wat leidde tot de toegenomen acceptatie van Nginx, maar gebruikers zijn getuige geweest van verbeterde prestaties sinds Apache 2.2.

2: Apache Tomcat-webserver

Apache Tomcat is een populaire webserver op ondernemingsniveau die op de markt verkrijgbaar is. Het is gebouwd om Java-webgebaseerde oplossingen te hosten waarvan het gebruik relatief frequent en overvloedig is in grote organisaties vanwege de hoge schaalbaarheid, prestaties en het aantal tools dat beschikbaar is voor het Java-ecosysteem. Apache Tomcat is een volwassen webserver waarvan de creatie wordt toegeschreven aan James Duncan Davidson van de Apache Foundationache. Tomcat is al meer dan 20 jaar geleden in ontwikkeling door Apache Software Foundation als de Apache-webserver.

Tomcat is een Java-servlet die wordt geleverd met uitgebreide functionaliteit voor interactie met Java-servlets, en het implementeert technische specificaties zoals JavaServer Pages (JSP) en Java Expression Language (Java EL).

Tomcat is gemaakt van meerdere componenten zoals Coyote, Catalina, Jasper, Cluster, enz. Catalina is de servlet-container, terwijl Coyote de connectorcomponent is die HTTP 1 ondersteunt.1. als de webserver. Hiermee kan Catalina (Java-servlet of JSP-container) fungeren als een webserver die lokale bestanden als HTTP-documenten dient. Jasper is de JSP-engine van Tomcat en het parseert JSP-bestanden om ze als servlets in Java-code te compileren. De component Cluster beheert grote applicaties door middel van load balancing en andere technieken.

Je kunt Apache Tomcat naast Apache HTTP gebruiken om projecten met zowel Java als PHP te vergemakkelijken. Tomcat ondersteunt ook AWS (Amazon Web Services), waardoor het ideaal is voor cloudgebaseerde oplossingen. De Eclipse IDE ondersteunt Tomcat, waardoor ontwikkelaars eenvoudig applicaties kunnen maken en implementeren.

Gewenste kenmerken

Apache Tomcat-webserver is een betere optie voor Java-webgebaseerde toepassingen. Apache Tomcat wordt vaak vermeld tussen andere open-source Java-toepassingsservers zoals JBoss, Wildfly en Glassfish.

3: Nginx-webserver

Nginx read 'Engine-x' is een open-source, krachtige en robuuste webserver. Het kan worden ingezet als load balancer, reverse proxy, IMAP/POP3-proxyserver en API-gateway. Igor Sysoev ontwikkelde het in 2002 als antwoord op het C10K-probleem. Het C10k-probleem is een probleem van het optimaliseren van netwerksockets en webservers om tienduizend gelijktijdige verbindingen en clients te verwerken. Nginx is in populariteit gegroeid met ongeveer 33.7% van alle websites.

Nginx vertrouwt op een asynchrone gebeurtenisgestuurde architectuur om grote aantallen gelijktijdige sessies af te handelen. Het is populair geworden onder beheerders vanwege het lage gebruik van bronnen, hoge gelijktijdigheid en schaalbaarheid. Het is ideaal voor het hosten van websites met veel verkeer en kan tot 500.000 verzoeken per seconde verwerken met een laag CPU-gebruik.

Nginx kan worden gebruikt als een zelfstandige webserver of als een statische inhoudserver voor een andere webserver. Bovendien kunt u Nginx inzetten om dynamische HTTP-inhoud op het netwerk te leveren met behulp van SCGI-handlers voor scripts, FastCGI, WSGI-toepassingsservers of Phusion Passenger-modules.

Gewenste kenmerken

Nginx heeft twee gevestigde versies, OSS Nginx en Nginx Plus. Nginx Plus biedt extra functies zoals actieve gezondheidscontroles, persistentie van sessies, integratie van DNS-service-discovery, Datalog, Dynatrace New Relic-plug-ins, een cache-purging-API, AppDynamic, Active-Active HA met configuratiesynchronisatie. De Nginx Plus API ondersteunt sleutelwaardewinkels.

Nginx is ontworpen om te concurreren met de Apache-server om statische bestanden te serveren, minder geheugen te gebruiken en antwoorden te vinden op het c10k-probleem. We kunnen vol vertrouwen zeggen dat het Apache verslaat in deze categorie. Dat is de reden waarom het is ingezet door populaire websites met veel verkeer, zoals Facebook, LinkedIn en Twitter. Lees meer over het project op de officiële Nginx-homepage.

4: Knooppunt.js-webserver

Knooppunt.js is een server-side runtime-omgeving die wordt gebruikt voor het bouwen van webapplicaties in Javascript. Het is gebundeld met een HTTP-module om de functionaliteit als webserver uit te breiden. Knooppunt.js werd oorspronkelijk in 2009 geschreven door Ryan Dahl en heeft momenteel de macht over 1.2% van alle websites.

Knooppunt.js implementeert een gebeurtenisgestuurde architectuur die in staat is tot asynchrone I/O. Het optimaliseert de doorvoer en schaalbaarheid en u kunt realtime communicatie effectief implementeren in webtoepassingen implement. Een belangrijk verschil tussen Node.js en andere webservers is dat het deel uitmaakt van een webontwikkelingsstack gemaakt van CSS, HTML en JavaScript-stack.
de knoop.js-project wordt beheerd door de Node.js Foundation en is beschikbaar onder verschillende licenties. Lees meer van de Node.website van js-project.

5: Caddy-webserver

Caddy is een snelle en krachtige multiplatform-webserver, reverse proxy, API-gateway en load balancer. Het Caddy-project is ontworpen door Mathew Holt en geschreven in de Go-taal. Het is een nieuw raamwerk en krijgt sterk aanhang en aandacht in het open-source raamwerk als alternatief voor Apache Web Server.

Caddy is gebouwd zonder afhankelijkheden, waardoor het draagbaar en gemakkelijk te installeren en te gebruiken is in verschillende distributies. Caddy ondersteunt functies zoals IPv6, Markdown, WebSockets, FastCGI, sjablonen, enz. Caddy activeert standaard HTTPS voor sites met kwalificerende domeinnamen en leidt HTTP-verzoeken om naar HTTPS. Het verkrijgt certificaten tijdens het opstarten en blijft ze vernieuwen tijdens de levensduur van de server.

Interessant is dat het een 'on-demand TLS'-functie heeft, die een alternatieve configuratiemethode biedt waarmee Caddy alleen certificaten kan verkrijgen als dat nodig is tijdens TLS-handshakes. Het is beschikbaar in alle grote distributies zoals MAC, Windows, Android, Linux, BSD en Solaris.

Gewenste kenmerken

Caddy is een geweldige kandidaat voor de gebruiker die eenvoud zoekt en graag met standaardconfiguraties werkt. Het is een ideale webserver voor het uitvoeren van applicaties die zijn geschreven in GO. Volgens w3tech voedt het momenteel 0.1% van alle websites.

6: Eclipse Jetty-webserver

Eclipse Jetty is ontworpen en gebouwd als een HTTP-server, HTTP-client en javax-servletcontainer om statische en dynamische inhoud als een stand-alone of ingesloten instantie weer te geven. De Jetty-webserver en andere kerncomponenten worden gehost en onderhouden door de Eclipse Foundation.
Jetty is een lichtgewicht en zeer schaalbare webserver en servlet-engine. Jetty is een volledig asynchrone webserver die componentgericht is en eenvoudig kan worden ingebed in andere toepassingen. Het ondersteunt webprotocollen zoals HTTP, HTTP/2 en WebSocket. Deze technologieën implementeren een architectuur met hoog volume, lage latentie en maximale prestaties, terwijl de eenvoud en compatibiliteit behouden blijven. Het kan uitstekende resultaten behalen met tienduizenden gelijktijdige HTTP-verbindingen en WebSocket-verbindingen.

Jetty heeft een kleine footprint waardoor webontwikkelaars Jetty efficiënt in elke omgeving kunnen implementeren en configureren zonder zich zorgen te hoeven maken over ongewenste overhead of geheugengebruik. Met een kleine geheugenvoetafdruk kunt u meer serverinstances op virtuele hardware uitvoeren, waardoor het een goede optie is in cloudimplementaties en infrastructuur.

Gewenste kenmerken

Eclipse is gebruikt in veel projecten zoals Apache ActiveMQ, Google App Engine, Alfresco, Apache Geronimo, Apache Maven, Apache Spark, Eclipse en Twitter's Streaming API. Lees hier meer.

7: Lighttpd-webserver

Lighttpd of Lighty is een gratis en open-source webserver die is gebouwd voor snelheidskritieke toepassingen. Het is veilig, snel, flexibel en heeft een minimale footprint van minder dan 1 MB. Zijn kleine footprint maakt hem zeer zuinig met de bronnen van de server en het CPU-gebruik. Lighttpd wordt gedistribueerd onder de BSD-licentie en geniet de voorkeur vanwege zijn eenvoud, prestaties en ondersteuningsmodules.

Lighttpd is gebouwd op een asynchroon model voor het afhandelen van verzoeken, wat essentieel is bij het verwerken en beheren van een groot aantal parallelle verbindingen, waardoor het een ideale optie is voor hoogwaardige webapplicaties. Sommigen zeggen misschien dat het de architectuur in Nginx weerspiegelt. Het ondersteunt FastCGI, CGI en SCGI voor het koppelen van uw webserver met andere programma's. Het ondersteunt ook toepassingen die in andere talen zijn geschreven, zoals Python, Perl, PHP en Ruby, populaire ontwikkeltalen onder ontwikkelaars.

Andere geavanceerde functies in Lighty zijn onder meer; Auth, URL-herschrijving, ondersteuning voor SSL/TLS, virtuele hosting en HTTP-uitvoercompressie via de mod_compress-module.

Gewenste functies

Lighttpd is een single-threaded webserver die gemakkelijk een paar honderd verzoeken per seconde kan verwerken en is een goede optie voor gebruikers die worden geconfronteerd met uitdagingen in omgevingen met weinig geheugen en weinig CPU's. Lighty draait native op Linux/Unix-systemen, maar je kunt het ook op het Microsoft Windows-platform draaien. Lees meer over de gebruiksstatistieken, licenties en ondersteuning op de Lighttpd-homepage.

8: OpenLiteSpeed-webserver

OpenLiteSpeed ​​is een open-source alternatief voor de LiteSpeed ​​Enterprise Web server-editie. Het is gebouwd voor eenvoud, beveiliging, optimalisatie en wordt geleverd met alle essentiële functies in de Enterprise-editie.

OpenLiteSpeed ​​is ontworpen op een gebeurtenisgestuurde, resource-geoptimaliseerde architectuur. Het wordt geleverd met een intuïtieve WebAdmin GUI om websites te beheren en verschillende sets serverstatistieken te controleren. OpenLiteSpeed ​​is geoptimaliseerd om scripts uit te voeren die zijn ontworpen in een groot aantal talen, zoals Perl, Python, Ruby en Java. Het ondersteunt IPv6 en SSL/TLS.

Gewenste kenmerken

OpenLiteSpeed ​​is veelzijdig en u kunt het configureren als load balancer of reverse proxy. OpenLiteSpeed ​​is gratis te downloaden en is beschikbaar onder de GPLv3-licentie. Het is een goede optie voor op WordPress gebaseerde inhoudswebsites.

9: H2O-webserver

H2O is een nieuwe generatie open-source HTTP-server. Het biedt snellere responstijden met minder CPU-gebruik in vergelijking met oudere generatie webservers. H2O is vanaf de grond af ontworpen en gebouwd om volledige HTTP/2-implementaties te creëren.

Gebruikers van H2O kunnen profiteren van nieuwe HTTP/2-functies zoals latentie-optimalisatie, server-push, geprioriteerde contentserving en server-push. Deze functies kunnen profiteren van moderne browserfunctionaliteit.

Gewenste kenmerken

H20 is geschreven in de programmeertaal C en kan ook als bibliotheek worden gebruikt. H2O is beschikbaar onder de MIT-licentie. Lees meer over H2O-gebruiksstatistieken.

10: Cherokee-webserver

Cherokee is een lichtgewicht, snelle, flexibele en performante open-source, platformonafhankelijke webserver. Het is ontwikkeld als een persoonlijk ontwikkelingsproject, maar is uitgegroeid tot een degelijke webserver die draait op Linux, BSD, Solaris, MAC en Windows.

Cherokee maakt onze lijst vanwege zijn eenvoud. Het wordt geleverd met een gebruiksvriendelijke webinterface en u hoeft niet veel opdrachtregelconfiguraties onder de knie te krijgen om het te laten werken en werken.
Het ondersteunt technologieën zoals FastCGI, CGI, SSI, SCGI, PHP, TLS en SSL-gecodeerde verbindingen, VirtualHosts, load balancing en Apache-compatibele logbestanden.

Cherokee kan gelijktijdige verbindingen aan met weinig geheugen en verbetert de hardwareprestaties. Het heeft een modulaire architectuur die kan worden gewijzigd en uitgebreid via een beheerwizard om specifieke taken uit te voeren, applicaties uit te breiden en frameworks uit te voeren.

Gewenste kenmerken

Ondanks dat het niet actief wordt ontwikkeld, is het een goede webserver voor eenvoudige projecten. Het ondersteunt PHP, Django, Ruby on Rails, ColdFusion, Alfresco, Symfony, GNU Mailman, .NET met Mono, rTorrent en Zend Engine, waarmee je veel alternatieven hebt om je project te bouwen.

Leren door te proberen

Als u aan de slag gaat op webservers, probeer dan de LEMP (Linux, Nginx, MySQL, PHP) of LAMP (Linux, Apache, MySQL, PHP) stacks. U kunt deze stapels eenvoudig installeren met behulp van eenvoudige installatieprogramma's en zijn ook beschikbaar in uw Linux-pakketbeheerder. Het geeft je een brede praktische ervaring over hoe webservers werken.

Ik heb een aantal populaire webservers (Apache, Nginx) toegevoegd, nieuwere (H2O, Node.js) en keek naar de Jetty-webserver die wordt ondersteund door Java-technologieën. De lijst is zeker niet uitgebreid en met meer onderzoek kunt u andere webservertechnologieën ontdekken om uit te proberen of voor uw project te gebruiken.

Top 5 Game Capture-kaarten
We hebben allemaal gezien en genoten van streaming gameplays op YouTube. PewDiePie, Jakesepticye en Markiplier zijn slechts enkele van de beste gamers...
Hoe een spel op Linux te ontwikkelen
Tien jaar geleden zouden niet veel Linux-gebruikers voorspellen dat hun favoriete besturingssysteem ooit een populair spelplatform voor commerciële vi...
Open source-poorten van commerciële game-engines
Gratis, open source en platformonafhankelijke game-engine-recreaties kunnen worden gebruikt om zowel oude als enkele van de vrij recente gametitels te...