Nginx (uitgesproken als „engine-x”) is open-source software voor een webserver die ook kan werken als reverse proxy en load balancer. Het levert websites uit aan bezoekers en staat bekend om het efficiënt verwerken van veel verbindingen tegelijk.

Waarvoor wordt Nginx gebruikt

Nginx wordt vooral gebruikt om bestanden zoals pagina’s, afbeeldingen en stijlbestanden snel aan bezoekers uit te leveren. Bij dynamische websites geeft Nginx het verzoek door aan een applicatie, bijvoorbeeld PHP of Node.js, en stuurt het antwoord daarvan terug naar de browser.

Nginx kan ook als reverse proxy optreden. Dat is een server die verzoeken namens een of meer andere servers aanneemt en doorstuurt. Zo kan de achterliggende applicatie afgeschermd worden van het open internet.

Een voorbeeld: een website draait op een applicatieserver. Nginx staat ervoor en neemt de verzoeken van bezoekers aan, levert afbeeldingen en stijlbestanden zelf uit en stuurt alleen de overige verzoeken door. Dat verlicht de applicatie.

Belangrijkste kenmerken

Nginx is gebouwd om veel gelijktijdige verbindingen te verwerken met relatief weinig geheugen. Veelgebruikte functies zijn:

  • Het uitleveren van statische bestanden.
  • Reverse proxy, waarbij verzoeken naar andere servers worden doorgestuurd.
  • Load balancing, het verdelen van verkeer over meerdere servers.
  • Caching, het tijdelijk bewaren van antwoorden.
  • Het afhandelen van versleutelde verbindingen met een SSL-certificaat.

Verschillen met Apache

Nginx en Apache doen in de kern hetzelfde: websites uitleveren. Een praktisch verschil is dat Nginx geen .htaccess-bestanden per map gebruikt. Alle regels staan in de centrale configuratie, en na een wijziging moet de configuratie opnieuw worden ingelezen. Dat maakt de instellingen overzichtelijk, maar vraagt wel toegang tot de serverconfiguratie.

Welke webserver beter past, hangt af van de toepassing. Soms worden Nginx en Apache ook samen ingezet, waarbij Nginx vooraan staat.