Ga naar inhoud

🌐 Het nginx Commando in Linux

In deze handleiding leer je hoe je nginx gebruikt op een Linux-systeem.

Het commando nginx wordt gebruikt om de Nginx Webserver te beheren, een lichtgewicht, hoge-prestatie webserver en reverse proxy.
Nginx wordt vaak gebruikt voor het serveren van statische websites, load balancing en als reverse proxy voor applicaties.

Achtergrondinformatie

Nginx is open-source en populair vanwege zijn snelheid, lage geheugenverbruik en eenvoudige configuratie.

  • Het kan zowel statische als dynamische content serveren (via FastCGI, PHP-FPM, enz.).
  • Ondersteunt modules voor SSL, caching, en reverse proxy.
  • Nginx gebruikt server blocks, vergelijkbaar met Apache Virtual Hosts, voor meerdere websites op één server.

Controleren of nginx aanwezig is

Controleer of Nginx geΓ―nstalleerd is:

nginx -v
Voorbeeldoutput
nginx version: nginx/1.22.1

βš™οΈ Installeren van nginx

Nginx is beschikbaar via de standaard pakketmanager.

Installatie op Debian/Ubuntu:

sudo apt update
sudo apt install nginx

Voorbeeldoutput
nginx is already the newest version (1.22.1-1ubuntu1).

Hieronder vind je enkele veelgebruikte voorbeelden van nginx en de service:

  • systemctl start nginx β†’ Start de webserver
  • systemctl stop nginx β†’ Stop de webserver
  • systemctl restart nginx β†’ Herstart de webserver
  • systemctl reload nginx β†’ Herlaad configuratie zonder actieve verbindingen te verbreken
  • systemctl status nginx β†’ Controleer status van de webserver
  • nginx -t β†’ Controleer configuratie op fouten
Voorbeeld

systemctl status nginx
Output:
● nginx.service - A high performance web server and a reverse proxy server
   Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
   Active: active (running) since Thu 2025-09-11 08:00:01 UTC; 5min ago

  • nginx -s reload β†’ Herlaad configuratie via command-line
  • nginx -s stop β†’ Stop server via command-line
  • nginx -V β†’ Toon compilatie-opties en modules

Nginx-configuratiebestanden zijn meestal te vinden in:

  • /etc/nginx/nginx.conf β†’ Hoofdconfiguratie
  • /etc/nginx/sites-available/ β†’ Beschikbare server blocks
  • /etc/nginx/sites-enabled/ β†’ Ingeschakelde server blocks (symlink naar sites-available)
  • /etc/nginx/snippets/ β†’ Herbruikbare configuraties, zoals SSL-certificaten

Server Block Voorbeeld

Een server block is Nginx’ versie van Apache Virtual Hosts.

  • Locatie: /etc/nginx/sites-available/
  • Bestandsnaam: Bijv. example.com of example.com.conf
  • Enable/Disable: Symlink naar /etc/nginx/sites-enabled/
  • Root: Map waar websitebestanden staan, bijv. /var/www/example.com/html
  • Logs: Per site kunnen aparte access en error logs worden ingesteld

Tip

Zorg dat de root-map bestaat en juiste permissies heeft:

sudo mkdir -p /var/www/example.com/html
sudo chown -R $USER:$USER /var/www/example.com/html
sudo chmod -R 755 /var/www/example.com

server {
    listen 80;
    server_name example.com www.example.com;

    root /var/www/example.com/html;
    index index.html index.htm;

    access_log /var/log/nginx/example.com_access.log;
    error_log /var/log/nginx/example.com_error.log;

    location / {
        try_files $uri $uri/ =404;
    }
}
sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx
sudo rm /etc/nginx/sites-enabled/example.com
sudo systemctl reload nginx

Nginx logt standaard naar:

  • /var/log/nginx/access.log β†’ Toegang tot de webserver
  • /var/log/nginx/error.log β†’ Fouten en waarschuwingen
tail -f /var/log/nginx/error.log

Updaten van nginx

Update Nginx via de pakketmanager:

sudo apt update
sudo apt install --only-upgrade nginx

Verwijderen van nginx

Verwijder Nginx indien nodig:

sudo apt remove nginx

Optioneel verwijder ook configuratiebestanden:

sudo apt purge nginx

πŸ“– Handleiding

De ingebouwde handleiding is beschikbaar via:

man nginx
Voorbeeld
NGINX(8)                   Linux Commands Manual                  NGINX(8)

NAME
       nginx - high performance web server and reverse proxy

SYNOPSIS
       nginx [-?hvVtq] [-s signal] [-c filename] [-g directives]