- 1 1. Inleiding
- 2 2. Hoe Nginx te installeren op Ubuntu
- 3 3. Basis Nginx-configuratie op Ubuntu
- 4 4. Nginx beheren en besturen
- 5 5. De Nginx-firewall configureren en beveiliging verbeteren
- 6 6. Nginx-prestatietuning en probleemoplossing
- 7 7. Samenvatting en Volgende Stappen
1. Inleiding
Veel mensen willen Nginx gebruiken op Ubuntu, maar als je nieuw bent, weet je misschien niet waar je moet beginnen. Dit artikel biedt een stapsgewijze handleiding voor beginners, die alles beslaat van installatie en configuratie tot beheer in een Ubuntu-omgeving.
Wat is Nginx?
Nginx (uitgesproken als “engine-x”) is een high-performance HTTP-server en reverse proxy-server. Het wordt wereldwijd veel gebruikt vanwege zijn lichtgewicht ontwerp en flexibiliteit, vooral zijn vermogen om hoge verkeersbelastingen aan te kunnen.
Voordelen van het gebruik van Nginx op Ubuntu
Ubuntu is een populaire Linux-distributie die goed werkt met Nginx. Met zijn pakketbeheersysteem (APT) is het installeren en updaten van Nginx eenvoudig, en het biedt uitstekende stabiliteit en beveiliging.
Door dit artikel te lezen, leer je:
- Hoe je Nginx installeert op Ubuntu
- Basisconfiguratie- en beheersprocedures
- Prestatie-optimalisatie en probleemoplossing
Laten we nu beginnen.
2. Hoe Nginx te installeren op Ubuntu
Om Nginx op Ubuntu te draaien, moet je het eerst correct installeren. Dit gedeelte biedt een duidelijke, stapsgewijze handleiding voor het installatieproces.
Vereiste pakketten controleren
Voordat je met de installatie begint, zorg ervoor dat je systeem up-to-date is door de volgende commando’s uit te voeren:
sudo apt update
sudo apt upgrade
Nginx installeren
Om Nginx te installeren, voer je het volgende commando in:
sudo apt install nginx
Dit commando downloadt en installeert Nginx automatisch vanuit de APT-repository van Ubuntu.
De installatie verifiëren
Om te controleren of de installatie succesvol was, gebruik je het volgende commando om de Nginx-status te controleren:
sudo systemctl status nginx
Als de uitvoer “active (running)” toont, was de installatie succesvol.
De firewall configureren
Ubuntu bevat UFW (Uncomplicated Firewall), die je kunt gebruiken om Nginx-verkeer toe te staan.
sudo ufw allow 'Nginx Full'
sudo ufw enable
Nu is Nginx ingesteld om te werken op poorten 80 (HTTP) en 443 (HTTPS).

3. Basis Nginx-configuratie op Ubuntu
Alleen Nginx installeren is niet genoeg. Vervolgens moet je het correct configureren voor effectief gebruik.
Configuratiebestanden en basisstructuur
De belangrijkste Nginx-configuratiebestanden bevinden zich in:
- Hoofdconfiguratiebestand:
/etc/nginx/nginx.conf - Sitespecifieke configuratiebestanden: In de map
/etc/nginx/sites-available/
Meestal maak je een virtuele host-configuratiebestand in sites-available en maak je een symbolische link naar sites-enabled voor activering.
Een virtuele host instellen
Virtuele hosts stellen je in staat om meerdere domeinen of projecten te beheren op één server. Het volgende voorbeeld stelt example.com in:
sudo nano /etc/nginx/sites-available/example.com
Voer de volgende inhoud in:
server {
listen 80;
server_name example.com www.example.com;
root /var/www/example.com/html;
index index.html index.htm;
location / {
try_files $uri $uri/ =404;
}
}
Sla het bestand op en activeer de configuratie met de volgende commando’s:
sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx
SSL/TLS configureren
Om beveiligde communicatie in te schakelen, stel je een SSL/TLS-certificaat in. Je kunt Let’s Encrypt gebruiken om een gratis certificaat te verkrijgen.
Installeer eerst certbot:
sudo apt install certbot python3-certbot-nginx
Voer vervolgens het volgende commando uit om het SSL-certificaat te verkrijgen en automatisch te configureren:
sudo certbot --nginx -d example.com -d www.example.com
Om verlopen te voorkomen, stel je ook automatische certificaatvernieuwing in.
4. Nginx beheren en besturen
Na het installeren en configureren van Nginx, moet je leren hoe je het start, stopt, configuraties herlaadt en problemen oplost. Dit gedeelte beslaat essentiële beheerscommando’s en probleemoplossingstechnieken.
Basis Nginx-commando’s
Op Ubuntu kun je Nginx beheren met het systemctl-commando. Hier zijn de belangrijkste bewerkingen:
- Nginx starten
sudo systemctl start nginx
- Nginx stoppen
sudo systemctl stop nginx
- Nginx herstarten Vereist bij het aanbrengen van grote configuratiewijzigingen.
sudo systemctl restart nginx
- Nginx herladen Pas configuratiewijzigingen toe zonder herstarten.
sudo systemctl reload nginx
- Nginx-status controleren Controleer of Nginx correct draait.
sudo systemctl status nginx
Automatisch opstarten inschakelen
Om ervoor te zorgen dat Nginx automatisch start na een systeembreboot:
- Automatisch opstarten inschakelen
sudo systemctl enable nginx
- Automatisch opstarten uitschakelen (indien nodig)
sudo systemctl disable nginx
Logboeken controleren voor probleemoplossing
Als Nginx niet zoals verwacht werkt, controleer dan de logboeken om de oorzaak te vinden.
- Foutlogboeken bekijken
sudo tail -f /var/log/nginx/error.log
- Toeganglogboeken bekijken
sudo tail -f /var/log/nginx/access.log
5. De Nginx-firewall configureren en beveiliging verbeteren
Beveiliging is cruciaal bij het bedienen van Nginx. Dit gedeelte legt uit hoe je poorten configureert met behulp van de Ubuntu-firewall (UFW) en de Nginx-beveiliging versterkt.
Poorten openen met UFW
UFW (Uncomplicated Firewall) is een firewalltool die standaard is inbegrepen in Ubuntu. Om ervoor te zorgen dat Nginx correct functioneert, moet je poorten 80 (HTTP) en 443 (HTTPS) openen.
- De huidige UFW-status controleren
sudo ufw status
- Nginx-verkeer toestaan Voer de volgende opdracht uit om de benodigde poorten te openen:
sudo ufw allow 'Nginx Full'
- UFW inschakelen Als de firewall is uitgeschakeld, schakel deze dan in:
sudo ufw enable
Aanvullende beveiligingsverbeteringen
- Onnodige HTTP-methoden uitschakelen Om de beveiliging te verbeteren, schakel onnodige HTTP-methoden uit door het volgende toe te voegen aan het Nginx-configuratiebestand:
if ($request_method !~ ^(GET|POST|HEAD)$) {
return 444;
}
- Directory-weergave uitschakelen Voorkom dat directory-inhoud publiek toegankelijk is door het volgende toe te voegen:
autoindex off;
- SSL/TLS versterken Gebruik sterke versleutelingsinstellingen in je SSL-configuratie:
ssl_protocols TLSv1.2 TLSv1.3;
ssl_prefer_server_ciphers on;
ssl_ciphers HIGH:!aNULL:!MD5;
6. Nginx-prestatietuning en probleemoplossing
Nginx staat bekend om zijn hoge prestaties, maar juiste tuning kan de efficiëntie verder verbeteren. Dit gedeelte behandelt optimalisatietechnieken en veelvoorkomende probleemoplossingsoplossingen.
Prestatietuning
1. Worker-processen configureren
Nginx volgt een multi-process architectuur. Het instellen van een geschikt aantal worker-processen optimaliseert de prestaties.
Bewerk het configuratiebestand /etc/nginx/nginx.conf en stel in:
worker_processes auto;
De instelling “auto” past het aantal worker-processen automatisch aan op basis van de CPU-kernen.
2. Worker-verbindingen verhogen
Standaard heeft elk worker-proces een beperkt aantal verbindingen. Het verhogen van deze waarde verbetert het omgaan met hoge verkeersbelastingen.
Voeg de volgende regel toe of wijzig deze in het configuratiebestand:
worker_connections 1024;
3. HTTP/2 inschakelen
Het inschakelen van HTTP/2 verbetert de communicatieve efficiëntie en versnelt het laden van websites.
Bewerk het bestand /etc/nginx/sites-available/example.com en wijzig de listen-directief als volgt:
listen 443 ssl http2;
Herlaad vervolgens Nginx:
sudo systemctl reload nginx
4. Inhoudscompressie inschakelen
Bestanden comprimeren voordat ze worden verzonden vermindert het bandbreedtegebruik en verbetert de laadtijden.
Voeg de volgende instellingen toe of schakel ze in:
gzip on;
gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;
5. Caching configureren
Het instellen van caching vermindert herhaalde verzoeken voor statische bronnen.
Voeg de volgende configuratie toe:
location ~* .(jpg|jpeg|png|gif|ico|css|js|woff|woff2|ttf|svg)$ {
expires 30d;
access_log off;
}
Veelvoorkomende probleemoplossing
1. Trage verzoekafhandeling onder hoge belasting
- Oorzaak: Onvoldoende worker-processen of verbindingslimieten.
- Oplossing: Pas worker-processen en verbindingen aan, of overweeg het gebruik van een load balancer.
2. “403 Forbidden” Fout
- Oorzaak: Onjuiste
rootdirective in het configuratiebestand of onjuiste bestandstoestemmingen. - Oplossing: Controleer de
rootdirective en werk bestandstoestemmingen bij:
sudo chmod -R 755 /var/www/example.com/html
sudo chown -R www-data:www-data /var/www/example.com/html
3. Server Timeout-problemen
- Oorzaak: Lange verzoekverwerkingstijd.
- Oplossing: Pas timeout-instellingen aan:
proxy_read_timeout 300;
proxy_connect_timeout 300;
proxy_send_timeout 300;
4. Nginx Herstartfouten
- Oorzaak: Fouten in het configuratiebestand.
- Oplossing: Test de configuratie voordat je herstart:
sudo nginx -t
7. Samenvatting en Volgende Stappen
In deze handleiding hebben we behandeld hoe je Nginx installeert, configureert en beheert op Ubuntu. Laten we herzien wat we hebben geleerd en de volgende stappen verkennen.
Samenvatting van Belangrijke Punten
1. Nginx Installeren op Ubuntu
- Vereiste pakketten voorbereid en Nginx geïnstalleerd met behulp van APT.
- Firewall geconfigureerd om Nginx-verkeer toe te staan.
2. Basisconfiguratie
- Begrepen van de structuur van het Nginx-configuratiebestand en ingesteld van virtuele hosts en SSL/TLS.
3. Nginx Beheren
- Essentiële commando’s geleerd voor het starten, stoppen en herladen van Nginx.
- Logs gecontroleerd voor probleemoplossing.
4. Beveiligingsverbeteringen
- UFW geconfigureerd en extra beveiligingsinstellingen toegepast.
5. Prestatie-optimalisatie en Probleemoplossing
- Worker-processen geoptimaliseerd, HTTP/2 ingeschakeld en caching ingesteld.
- Veelvoorkomende Nginx-problemen aangepakt.
Volgende Stappen
Nu je de basis van Nginx op Ubuntu hebt, overweeg deze volgende stappen:
- Leer geavanceerde configuraties zoals load balancing en reverse proxy.
- Verbeter beveiliging met WAF en extra Nginx-beveiligingsmodules.
- Automatiseer implementaties met Ansible of Docker.
- Monitor prestaties met tools zoals Prometheus en Grafana.
Door deze concepten toe te passen, kun je effectief een hoogwaardige webserver beheren en uitvoeren met Nginx op Ubuntu.



![[2024 nieuwste editie] Uitgebreide gids voor het Ubuntu 24.04 LTS-ondersteuningssysteem](https://www.linux.digibeatrix.com/wp-content/uploads/2024/11/f222ace1471e9ae589987b3313177f9e-375x375.webp)
