Lezers zoals jij steunen MUO. Wanneer u een aankoop doet via links op onze site, kunnen we een aangesloten commissie verdienen.
Windows Subsystem for Linux, of WSL, is een geweldige manier voor ontwikkelaars die Linux en Windows moeten gebruiken om dit te doen zonder een virtuele machine of dual-boot te hoeven opzetten.
Een belangrijke nieuwe functie is de mogelijkheid om systemd op WSL uit te voeren, wat handig is voor webontwikkelaars die lokaal testomgevingen opzetten. Hier leest u hoe u het kunt inschakelen en gebruiken.
Waarom systemd op WSL installeren?
WSL-services voeren standaard de oudere System V init-service uit en services worden gestart met het servicecommando. september 2022, Microsoft de optie toegevoegd om systemd te gebruiken om services te beheren. De meeste grote Linux-distributies zijn al veranderd in systemd.
Ondanks de controverse is het bij echt gebruik veel eenvoudiger services starten en stoppen met systemd. Het is ook gemakkelijker om samen met andere Linux-tutorials te volgen, omdat je niet zo vaak van commando's hoeft te veranderen.
Een lokale LAMP-testomgeving zal dichter bij een standaard Linux-server liggen, dus uw app is gemakkelijker te debuggen.
Hoe systemd op WSL in te schakelen
Om systemd in te schakelen, moet u de juiste versie van WSL uitvoeren. systemd vereist WSL versie 0.67.6 of hoger. U kunt het versienummer controleren door PowerShell te openen en te typen:
wsl --versie
Als u een oudere versie hebt geïnstalleerd en systemd wilt gebruiken, kunt u WSL bijwerken met:
wsl --update
Nu moet je systemd instellen in elke distro die je hebt geïnstalleerd met WSL. Het proces is hetzelfde voor elke WSL-distro, of dat nu Ubuntu, Debian, Fedora of iets anders is.
Bewerk eenvoudig de /etc/wsl.conf bestand in uw systeem als root en voeg deze regels toe:
[laars]
systeemd=WAAR
Als het bestand wsl.conf niet bestaat, hoeft u zich geen zorgen te maken en gaat u verder door het zelf te maken. Deze regels zullen hoe dan ook werken.
Sla het bestand op en nu moet u alle actieve WSL-distributies opnieuw opstarten. Open hiervoor een PowerShell-venster en typ deze opdracht:
wsl --afsluiten
Open een andere terminal en u kunt services beheren met systemd op WSL.
WSL-services starten en stoppen met systemd
U kunt nu gebruiken systeemctl services in WSL starten en stoppen.
Stel dat u Apache gebruikt om een lokale webserver uit te voeren om een webapp te testen die u aan het ontwikkelen was.
Je zou Apache als volgt starten:
sudosysteemctlbeginapache2.dienst
Als u wilt dat het automatisch wordt gestart, schakelt u het in met:
sudo systemctl schakel apache2.service in
En schakel het uit met:
sudosysteemctlstopapache2.dienst
Nu kunt u systemd uitvoeren op WSL
Met de nieuwste updates voor WSL kunt u nu systemd inschakelen en services starten en stoppen wanneer u ze nodig hebt. Dit maakt WSL een goede omgeving voor het ontwikkelen van webapplicaties, omdat je ze kunt testen alsof je een andere standaard Linux-machine gebruikt.
Het is ook extreem eenvoudig om een LAMP-server (Linux, Apache, MySQL, PHP) te installeren op Windows Subsystem voor Linux.