Volgens statistieken van W3Techs is Apache nog altijd de meest gebruikte webserver. Ongeveer 50 procent van alle websitehouders maakt gebruik van deze webserver. Kijk je echter alleen naar de top 10.000 meestbezochte websites, dan krijg je een ander beeld: slechts 21 procent van deze websites is gebaseerd op de Apache webserver uit 1995. Van de 1000 grootste websites is dat zelfs nog maar 16 procent.
Dat ligt deels aan het buitengewoon hoge aandeel van de Google Web Server (ca. 13 procent) onder de veel bezochte websites, want hierop draaien alle Google-websites. Maar dit resultaat hangt ook samen met de razendsnelle opkomst van de uit Rusland afkomstige webserversoftware NGINX. In 2010 was NGINX met een marktaandeel van bijna 4 procent niet meer dan een van de vele alternatieven voor Apache, maar nu wordt de onder BSD-licentie gepubliceerde software al voor meer dan de helft van alle webprojecten uit de top 10.000 en de top 1000 gebruikt.
De in 2004 gepubliceerde NGINX-serversoftware werd in eerste instantie geprogrammeerd door de Russische softwareontwikkelaar Igor Sysoev. Toen was het al de bedoeling een server te ontwikkelen die uitblinkt door een buitengewoon sterke performance, en die een zo groot mogelijk aantal clients tegelijk kan bedienen, maar die toch weinig resources verbruiken. Met het oog op de toenemende populariteit van de webserver, richtte Sysoev in 2011 NGINX Inc. op. Het commerciële bedrijf is sindsdien verantwoordelijk voor de verdere ontwikkeling van de software en biedt, naast de gratis standaardversie, met NGINX Plus ook betaalde support en aanvullende functies aan, zoals een betere load balancing.
NGINX is net als Apache modulair opgebouwd. Dat betekent dat de verschillende functies beschikbaar worden gesteld via bijbehorende modules, die jij als beheerder kunt activeren of deactiveren. Dit maakt het mogelijk om uit onder andere de volgende functies te kiezen:
Terwijl Apache voor elke client-aanvraag een nieuwe thread of een nieuw proces opent, oriënteert de NGINX-server zich op gebeurtenissen. Zo kan hij de aanvragen asynchroon verwerken, wat geheugen en tijd bespaart. De serversoftware wordt ondersteund door talrijke besturingssystemen, waaronder vele Unix-/Linux-varianten, macOS- en Windows-servers.
Gebruikers van de versie Plus krijgen bij de installatie van de software ondersteuning van NGINX-support. Over het algemeen verloopt de installatie echter volgens het wel bekende patroon met behulp van het pakketbeheer, want Linux heeft het NGINX-pakket standaard in hun repository. Mocht het pakket toch ontbreken, dan kan de broncode snel en eenvoudig van de officiële NGINX website worden gedownload. Hierna wordt aan de hand van een voorbeeld toegelicht hoe je de webserver onder Linux kunt installeren en configureren.
sudo apt-get update
sudo apt-get install nginx
sudo service nginx reload
sudo service nginx restart
Met de parameters stop en start kun je de dienst ook volledig uitschakelen en weer inschakelen.worker_connections 768;
events {
worker_connections 768;
multi_accept on;
}
# multi_accept on;
is bijvoorbeeld de optie gedeactiveerd om meerdere clients tegelijk te accepteren.
De groeiende populariteit van NGINX heeft meerdere redenen. De eerste reden is dat de webserversoftware optimaal op de huidige eisen van veel webprojecten is afgestemd. NGINX behaalt namelijk niet alleen uitstekende resultaten bij het verwerken van een groot aantal client-aanvragen, maar is daarbij ook nog eens zuinig. Daarom is de software het perfecte antwoord op de beperkte capaciteit van mobiele gegevensverbindingen. NGINX helpt jou als websitehouder er dus bij je content ook zo snel mogelijk te leveren aan gebruikers van mobiele apparaten. Verder overtuigt het opensourceproduct van de Russische ontwikkelaars door zijn flexibele toepassingsmogelijkheden. Naast de klassieke HTTP-webservervariant doet NGINX het ook goed op het gebied van reverse proxying, bijvoorbeeld als e-mailproxyserver of load balancer.
NGINX is echter niet altijd de beste keuze als webserver: shared hosting, waarbij de controle over de serverbronnen met behulp van door wachtwoorden beveiligde secties of interne omleidingen wordt geregeld, is daarmee lastig te realiseren. Zulke secties en omleidingen kunnen alleen in het centrale configuratiebestand worden aangemaakt en worden gerealiseerd door de server opnieuw op te starten. Mogelijke fouten hebben dan gevolgen voor alle deelnemers van de shared-hosting-instantie. Op dit gebied biedt de Apache-webserver, waarbij individuele instellingen in aparte .htaccess-bestanden worden opgeslagen, dus een duidelijk voordeel.