Nginx, wat je uitspreekt als “engine-ex”, is een opensource webserver die sinds zijn aanvankelijke succes als webserver tegenwoordig ook dienstdoet als reverse proxy, HTTP cache en loadbalancer.

Er zijn veel high-profile bedrijven die Nginx gebruiken, waaronder Autodesk, Atlassian, Intuit, T-Mobile, GitLab, DuckDuckGo, Microsoft, IBM, Google, Adobe, Salesforce, VMWare, Xerox, LinkedIn, Cisco, Facebook, Target, Citrix Systems, Twitter, Apple, Intel en nog veel meer (bron).

Nginx is gemaakt door Igor Sysoev en kende zijn eerste openbare release in oktober 2004. Igor schreef de software aanvankelijk als antwoord op het C10k probleem, wat een probleem is dat te maken heeft met performance-issues bij het verwerken van meer dan 10.000 gelijktijdige verbindingen.

De roots van Nginx liggen dus in het leveren van prestaties bij het opschalen en daarom presteert de server in benchmarktesten vaak beter dan de andere populaire webservers. Dit geldt met name in situaties met veel statische content en/of een hoog aantal gelijktijdige verzoeken. Dat is meteen ook de reden waarom Kinsta gebruikmaakt van Nginx als hostingserver.

Hoe werkt Nginx?

Nginx is gebouwd om met een laag geheugengebruik zoveel mogelijk gelijktijdige verbindingen af te handelen. In plaats van bij elk webverzoek een nieuw proces te creëren, gebruikt Nginx een asynchrone, gebeurtenis-gestuurde aanpak waarbij verzoeken binnen één thread worden afgehandeld.

Met Nginx kan één masterproces meerdere werkprocessen besturen. De master onderhoudt de werkprocessen, terwijl de workers de daadwerkelijke verwerking op zich nemen. Omdat Nginx asynchroon is, kan elk verzoek gelijktijdig door de worker worden uitgevoerd, zonder andere verzoeken te blokkeren.

Een aantal veelvoorkomende functies van Nginx zijn:

  • Reverse proxy met caching
  • Ipv6
  • Loadbalancing
  • Ondersteuning voor FastCGI met caching
  • WebSockets
  • Afhandelen van statische bestanden, indexbestanden en auto-indexering
  • TLS/SSL met SNI

Bij Kinsta is Nginx een van de verscheidene premium add-ons die je kan gebruiken.

Gebruiksstatistieken Nginx vs Apache

 

Apache is een andere populaire opensource webserver. Als we alleen naar de cijfers kijken is Apache momenteel de meest populaire webserver. Volgens W3Techs gebruikt 43,6% (tegenover 47% in 2018) van alle websites Apache – gemeten op sites waarvan de webserver bekend is. Nginx komt op de tweede plaats met 41,8%.

Netcraft deed onderzoek naar 233 miljoen domeinen en uit de resultaten bleek dat Apache werd gebruikt door 31,54% tegenover Nginx met 26,20%.

Webserver-ontwikkelaars: marktaandeel van domeinen
Webserverontwikkelaars: marktaandeel van domeinen (bron Netcraft)

Hoewel Apache de meest populaire algemene oplossing is, is Nginx de favoriet onder de meest populaire websites met veel verkeer.

Wanneer je naar de gebruikscijfers en verkeer kijkt, dan draait Nginx op:

  • 60,9% van de 100.000 populairste sites (wat in 2018 nog 56,1% was)
  • 67,1% van de 10.000 populairste sites (wat in 2018 nog 63,2% was)
  • 62,1% van de 1.000 populairste sites (wat in 2018 nog 57% was)

Nginx wordt zelfs gebruikt door een aantal van de meest resource-intensieve sites van dit moment, waaronder Netflix, NASA en zelfs WordPress.com

Het gebruik van Apache beweegt zich in de tegenovergestelde richting als we naar sites met veel verkeer kijken. Het draait op:

  • 24% van de 100.000 populairste sites (wat in 2018 nog 27,1% was)
  • 18,8% van de 10.000 populairste sites (wat in 2018 nog 21,5% was)
  • 16,6 van de 1.000 populairste sites (wat in 2018 nog 16,2% was)

Als we naar de zoektermen binnen Google Search kijken, dan zien wat dat sinds 2004 Apache gestaag is afgenomen, terwijl Nginx een lichte groei doormaakt.

Nginx vs Apache
Nginx versus Apache

Nogmaals, als je bedenkt dat NGINX beter presteert bij het opschalen, is het niet verrassend dat high-traffic websites NGINX verkiezen boven Apache. Bekijk onze meer diepgaande vergelijking van Nginx versus Apache.

Zo controleer je of je server op Nginx of Apache draait

Op de meeste sites kan je eenvoudig de server HTTP header bekijken om te zien of er Nginx of Apache staat. Je kan de HTTP headers zien in het netwerktabblad van Chrome Devtools. Ook kan je de headers bekijken in een tool als Pingdom of GTmetrix.

Het kan zijn dat de HTTP niet altijd laat zien welke webserver een site gebruikt. Als je WordPress site zich bijvoorbeeld achter een proxyservice als Cloudflare bevindt, staat er bij de server HTTP header in plaats daarvan cloudflare.

Nginx HTTP-hoofding
Nginx HTTP header