5 alternatieven voor de Apache-webserver

6 april, 2014 (13:21)
Rob (Hosting in Nederland)
3 reacties

De Apache HTTP Server ("httpd") is al sinds de introductie in 1996 de meest gebruikte webserver op het wereldwijde web. De software heeft daarmee een grote bijdrage geleverd aan de groei van het internet zoals we dat nu kennen. Tegenwoordig is Apache echter al lang niet meer de enige, en ook niet per se de beste webserver op de markt. Dit artikel behandelt enkele van de meest reputabele alternatieven.

Logo van de Apache webserver

Apache heeft haar grote voorsprong op andere webservers voornamelijk te danken aan haar leeftijd. In de eerste jaren beschikte alleen Microsoft over een serieuze concurrent, genaamd IIS, maar in de tegenstelling tot Apache was dat een commercieel product. Bovendien maakten de meeste computersystemen — waarop de webservers geïnstalleerd werden — gebruik van op Unix gebaseerde, lichtgewicht besturingssystemen zoals Linux of FreeBSD, en was Apache derhalve vaak de meest logische (en goedkoopste) keuze.

Het C10k-probleem

Door de aanwezigheid van zowel een open-source als een commercieel product, was de vraag naar alternatieve webservers destijds niet groot. Tot men als gevolg van de explosieve groei van het internet tegen het zogeheten C10k-probleem aanliep.

Een beperking in de bestaande webserverapplicaties was dat ze niet met meer dan tienduizend (10k) connecties (C) — cliënten, ofwel bezoekers — tegelijkertijd konden omgaan, wat de schaalbaarheid van populaire websites in de weg zat. Dit obstakel inspireerde menig ontwikkelaar om een webserver te ontwikkelen die, dankzij een verbeterde architectuur, minder computerkracht nodig zou hebben.

De meeste van onderstaande alternatieven voor Apache, zoals nginx, Cherokee en Lighttpd, zijn in eerste instantie gebouwd als oplossingen voor het C10k-probleem. Sindsdien zijn zij echter uitgegroeid tot volwaardige concurrenten die in staat zijn om Apache (en elkaar) te vervangen.

1. Nginx

De snelst-groeiende Apache-concurrent is nginx (uitspraak: engine-ex). Tijdens zijn loopbaan bij de populaire Russische website Rambler, zocht ontwikkelaar Igor Sysoev naar een manier om het C10k-probleem te tackelen, en het serveren van statische content (zoals afbeeldingen en stylesheets) efficiënter te maken. Twee jaar nadat Sysoev in 2002 begon met programmeren, introduceerde hij nginx. Vandaag de dag is het na Apache de populairste webserver op Linux-systemen.

Logo van nginx-webserver

Nginx heeft een reputatie als één van de snelste webservers, blijkt ook uit de vele benchmarks die over de jaren zijn uitgevoerd. Daar komt bij dat de software van veel minder computergeheugen en processorkracht gebruik maakt dan Apache.

Dit alles heeft de software te danken aan haar architectuur: waar Apache thread-based is, en dus voor elk verzoek een nieuw proces of thread moet starten, is nginx event-based en kan het met een enkel proces vele verzoeken (events) tegelijkertijd verwerken.

Wie nog niet klaar is om van Apache af te stappen, kan overwegen om nginx als reverse proxy in te zetten. Hierbij worden alle verzoeken in eerste instantie door nginx bekeken, maar kan de software bepaalde verzoeken — bijvoorbeeld voor PHP of CGI scripts — naar wens doorverwijzen naar Apache, die het verzoek dan inhoudelijk behandelt en het resultaat daarvan via nginx naar de cliënt stuurt.

Door nginx bijvoorbeeld alle statische content direct af te laten handelen, of dynamische content in een tijdelijke cache te plaatsen, kan de druk op Apache verlaagd worden.

2. Lighttpd

Logo van lighttpd-webserver

Lighttpd (uitspraak: lighty) is qua opzet vergelijkbaar met nginx, en werd ongeveer in dezelfde periode geschreven door Jan Kneschke, een Duitse ontwikkelaar die sinds 2005 werkzaam is in het MySQL Development Team. Als afleiding op het schrijven van zijn scriptie, begon Kneschke in 2003, net als Igor Sysoev, aan het programmeren van een oplossing voor het C10k-probleem.

De belangrijkste eigenschappen van lighttpd, ten opzichte van Apache, zijn het lage geheugengebruik en de efficiënte omgang met processorkracht. Met behulp van een twintigtal modules kunnen de standaardmogelijkheden van de webserver bovendien eenvoudig worden uitgebreid.

Lighttpd wordt nog altijd doorontwikkeld, maar hier zit over het algemeen minder vaart in dan bij Apache en nginx. Derhalve worden veel moderne technologieën, zoals SPDY en WebSockets, nog niet ondersteund.

3. (Open)LiteSpeed

Logo van (Open)LiteSpeed-webserver

OpenLiteSpeed is de open-source variant van LiteSpeed, een commerciële webserver die als complete vervanger van Apache kan worden ingezet. In tegenstelling tot de andere alternatieven is LiteSpeed namelijk in staat om configuratiebestanden van Apache te lezen. Dit geldt echter maar in beperkte mate voor OpenLiteSpeed, dat wel in staat is om mod_rewrite-regels te lezen, maar geen ondersteuning biedt voor de configuratie- en .htaccess-bestanden van Apache.

Wie van Apache naar OpenLiteSpeed wil overstappen, en liever geen licentie aanschaft, zal zich dan ook moeten aanpassen aan de syntaxis van de LiteSpeed-configuratiebestanden. Wel beschikt de open-source versie over onder meer een grafische administratie-interface met real-time statistieken en "cutting edge"-functionaliteiten zoals ondersteuning voor SPDY en WebSockets.

Net als nginx en lighttpd maakt (Open)LiteSpeed gebruik van een event-driven architectuur, waardoor het met minimale systeemvereisten veel verzoeken tegelijkertijd (asynchroon) kan verwerken.

4. Cherokee

Álvaro López Ortega begon reeds in 2001, op zijn eenentwintigste, aan de ontwikkeling van de Cherokee Web Server als alternatief voor de in zijn ogen zware Apache HTTP Server. Tegenwoordig wordt de software grotendeels doorontwikkeld door een groep vrijwilligers.

Logo van de Cherokee Web Server

In het Cherokee Project hebben de ontwikkelaars eenvoud en gebruiksvriendelijkheid hoog in het vaandel staan. Om die reden is de zogeheten Cherokee Admin-interface standaard bij de software inbegrepen, en in meerdere talen beschikbaar, waaronder Nederlands. Met het administratiepaneel kan elke functionaliteit van de webserver eenvoudig geconfigureerd worden.

Net als nginx kan Cherokee ook ingezet worden als reverse proxy. Cherokee loopt, net als lighttpd, qua moderne functionaliteiten iets achter op nginx en (Open)LiteSpeed; zo heeft het bijvoorbeeld geen ondersteuning voor WebSockets of SPDY, en lijkt dit voorlopig ook niet in de pijplijn te zitten.

5. Hiawatha

Logo van de Hiawatha webserver

Veiligheid is een van de pijlers van de door de Nederlander Hugo Leisink ontwikkelde webserver Hiawatha — waarvan de naam, net als bij Cherokee, een knipoog is naar Apache. Leisink bracht versie 1.0 van Hiawatha in 2002 uit, niet zozeer met het oog op betere prestaties als wel op gebruiksgemak. Inmiddels is het versienummer opgelopen tot 9.4, en komen er nog regelmatig updates beschikbaar.

De "onlogische, bijna cryptische configuratiesyntaxis" kon volgens Leisink veel beter, schrijft hij op de projectwebsite, en hij had geen vertrouwen in de beveiliging en robuustheid van de Apache HTTP Server. De geïntegreerde bescherming tegen onder meer SQL-injecties en Denial-of-Service (DoS)-aanvallen, zou de beveiliging van Hiawatha versterken ten opzichte van de concurrerende webservers.

Om de overstap vanaf Apache te vergemakkelijken, zijn op de projectwebsite configuratievoorbeelden te vinden, die in combinatie met contentmanagementsystemen als Wordpress gebruikt kunnen worden.

Hiawatha kan eveneens als reverse proxy worden gebruikt, en beschikt tevens over een PHP-applicatie waarmee informatie over dataverkeer, HTTP-verzoeken, fouten en aanvallen kan worden uitgelezen.

Apache als Zwitsers zakmes

Negen van de tien webhosting pakketten die op Hosting in Nederland worden vergeleken, werken op basis van Apache. De belangrijkste reden hiervoor is dat de Apache-webserver dermate lang de standaard is geweest, dat de sector zich hier grotendeels aan heeft aangepast: contentmanagementsystemen, controlepanelen, beheersoftware voor hostingproviders en vele andere applicaties zijn in combinatie met Apache het eenvoudigst in gebruik te nemen.

Zwitsers zakmes

Bij afname van een webhostingpakket, zit je doorgaans dan ook vast aan Apache — tenzij je kiest voor een Windows-pakket met IIS. Dat is overigens niet erg, want je hebt in dat geval zelf geen omkijken naar de werking van de webserver; dat is de taak van de hostingprovider. Bovendien maakt Apache het je makkelijker, zoals gezegd, om populaire software voor je website in gebruik te nemen.

Apache wordt wel eens vergeleken met een Zwitsers zakmes: je kunt er vanalles mee, maar voor eenvoudige toepassingen zijn veel van die mogelijkheden overbodig, en volstaat een eenvoudig zakmes of een kurkentrekker. Beschik je dan ook over een eigen machine, zoals een VPS of dedicated server, dan kun je met het oog op hogere prestaties en efficiënt gebruik van de beschikbare computerkracht eens overwegen om één van bovenstaande alternatieven te installeren.

Reacties (3)

9 april, 2014, 14:54
Hugo

PHP web serving study / Performance report by Stefan "SaltwaterC" Rusu. http://www.saltwaterc.ro/wp-download/documents/PHP_web_serving_study.pdf

9 april, 2014, 14:57
Hugo

Performance testing while under attack: https://www.hiawatha-webserver.org/weblog/64

28 februari, 2022, 12:51

En h2o?

Reageren

Reacties worden direct gepubliceerd. We vertrouwen er dan ook op dat je reactie relevant is, geen reclame-uitingen bevat, en de algemeen geldende fatsoensregels niet overschrijdt. Je e-mailadres wordt niet gepubliceerd.

Verzenden
RSS feed
Over deze blog

Op dit weblog schrijven we regelmatig over nieuws en trends rondom (web)hosting, website-ontwikkeling en technologie.

Archief
Bijdrage leveren?

We verwelkomen bijdragen van gast-auteurs. Heb je een voorstel? Neem dan vrijblijvend contact met ons op.