Ga naar hoofdinhoud

6.4 Diensten

Hier bouw je op verder: Installeren met sudo apt en Een website in WSL bekijken

Weet je dit niet meer zeker? Lees het terug voordat je verdergaat.

De webserver uit 5.2 stopte zodra je Ctrl+C drukte of de sloot. Een echte moet blijven draaien, ook als niemand is ingelogd, en vanzelf weer starten na een herstart. Zo'n programma heet een dienst. Op regelt systemd de diensten, en je praat ermee via systemctl.

Installeer een echte webserver, nginx:

sudo apt update
sudo apt install nginx

Open in je browser http://localhost. Je ziet de kop Welcome to nginx!, zonder dat je iets hebt gestart: apt zette de dienst meteen aan.

Kijken hoe het gaat​

systemctl status nginx
● nginx.service - A high performance web server and a reverse proxy server
Loaded: loaded (/usr/lib/systemd/system/nginx.service; enabled; preset: enabled)
Active: active (running) since Mon 2026-11-02 10:15:01 CET; 2min ago

Twee woorden doen ertoe. active (running) betekent: hij draait nu. enabled betekent: hij start vanzelf als de computer opstart. Komt je niet vanzelf terug, druk dan op q.

Starten en stoppen​

CommandoWat het doet
sudo systemctl stop nginxstoppen
sudo systemctl start nginxstarten
sudo systemctl restart nginxopnieuw starten, bijvoorbeeld na een nieuwe instelling
sudo systemctl enable nginxvanzelf starten bij het opstarten
sudo systemctl disable nginxniet meer vanzelf starten

Kijken mag iedereen, dus status werkt zonder sudo. Een dienst veranderen vraagt sudo.

Voorspel​

Je doet sudo systemctl stop nginx en herlaadt http://localhost in je browser. Wat zie je? En na sudo systemctl start nginx?

Klik hier als je het hebt geprobeerd

Na stop geeft de browser een foutmelding, zoiets als Kan deze pagina niet bereiken: er luistert niemand meer. Na start is de welkomstpagina terug.

Wat er gebeurde: het logboek​

Elke dienst schrijft wat hij doet naar een logboek. Dat lees je met journalctl:

sudo journalctl -u nginx -n 20

-u nginx kiest de dienst (unit), -n 20 de laatste twintig regels. Start een dienst niet, dan staat hier waarom. Met -f (follow) blijft het logboek openstaan en zie je nieuwe regels meteen verschijnen; stoppen doe je met Ctrl+C.

Opdracht 6.4.a: nginx uit​

Je hebt nginx straks niet meer nodig, en hij houdt de deur van http://localhost bezet.

  1. Stop nginx, en zorg dat hij niet meer vanzelf start.
  2. Laat met systemctl status zien dat het gelukt is.
Klik hier voor een tip

Je hebt twee uit de tabel nodig. Ze kunnen ook in één keer: disable kent de --now.

Klik hier voor het antwoord
sudo systemctl disable --now nginx
systemctl status nginx

In de status staan nu disabled en inactive (dead). Helemaal weghalen kan met sudo apt remove nginx.

Er gaat iets mis​

Niet opgestart met systemd​

System has not been booted with systemd as init system (PID 1). Can't operate.
Failed to connect to bus: Host is down

Oorzaak: in je staat systemd uit. Bij een nieuwe Ubuntu staat het aan, maar bij een oudere installatie niet.

Oplossing: zet het aan in /etc/wsl.conf:

sudo nano /etc/wsl.conf

Zet erbij, onder wat er al staat (haal niets weg, want een regel als default=sam bepaalt met wie je inlogt):

[boot]
systemd=true

Sla op, stop, en typ in PowerShell wsl --shutdown. Open daarna Ubuntu opnieuw.

nginx start niet: address already in use​

nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)

Deze regel staat in sudo journalctl -u nginx -n 20, en systemctl status nginx zegt failed.

Oorzaak: een ander programma luistert al op 80. Alle Linux-versies in WSL delen één netwerk, dus het kan ook een webserver in een andere Linux zijn.

Oplossing: zoek uit welk programma op :80 staat, en zet dat uit. Dat vertelt sudo ss -tlnp: ss laat de verbindingen van de computer zien, en met -tlnp alleen de poorten waarop een programma wacht, met de naam van dat programma erbij.

De dienst draait niet meer als je later terugkomt​

Oorzaak: WSL zet Linux stil als er een tijdje geen Ubuntu-venster open is. Je diensten stoppen dan mee.

Oplossing: open Ubuntu; diensten met enabled starten dan vanzelf weer. Op een echte server speelt dit niet: die staat altijd aan.

Door naar 6.5 Groepen.