localhost:3000: wat het is en hoe u geweigerd of bezet oplost | We.Inc
Wat localhost:3000 betekent, welke dev-servers standaard poort 3000 gebruiken, en de commando's voor Mac, Linux en Windows die de fouten connection refused en address already in use oplossen.
localhost:3000 is een webserver die op uw eigen computer draait en luistert op poort 3000. Next.js, het hello world-voorbeeld van Express en Rails gebruiken die poort allemaal standaard. Als de pagina de verbinding weigert, luistert daar niets. Als de server niet wil starten, houdt een ander proces de poort al bezet, en dat kunt u opsporen en stoppen.
Welke fout hebt u?
Wat u ziet
Betekenis
Eerste stap
Browser: localhost weigert verbinding
Er luistert niets op poort 3000
Start de dev-server en lees de URL die hij toont
Terminal: EADDRINUSE :::3000
Een ander proces gebruikt poort 3000 al
Zoek dat proces op en stop het, of gebruik een andere poort
Pagina laadt, maar er verschijnt een oude app
De server van een ander project draait nog
Stop die en start daarna de juiste opnieuw
localhost betekent altijd deze machine, en het getal na de dubbele punt bepaalt met welk programma daarop u praat. De meeste problemen met poort 3000 komen voort uit een van twee tegengestelde situaties: er draait daar geen server, of twee servers willen hem tegelijk. Typ hieronder een poort om de commando's voor uw systeem te krijgen.
Vul het poortnummer in dat uw app gebruikt. Standaard is dat 3000.
Kopieer het zoekcommando voor uw systeem en voer het uit in een terminal om te zien welk proces luistert.
Stop dat proces met het tweede commando, of start uw app op een andere poort.
Als er helemaal niets luistert, controleer dan de tabel met standaardpoorten om zeker te weten dat uw tool echt 3000 gebruikt.
Lees de URL die de dev-server bij het starten toont. Vite gebruikt bijvoorbeeld 5173 en schuift door naar de volgende vrije poort als die bezet is.
Stop dev-servers met Ctrl+C in hun terminal in plaats van het venster te sluiten, want dan kan het proces blijven draaien.
Gebruik http, niet https, tenzij u de server bewust met HTTPS hebt gestart; Next.js serveert lokaal alleen HTTPS met --experimental-https.
Binnen Docker moet de app luisteren op 0.0.0.0 en moet de poort gepubliceerd zijn, anders weigert localhost op de hostmachine de verbinding.
Veelgestelde vragen
Wat is localhost:3000?
localhost is de naam voor uw eigen computer, meestal 127.0.0.1 of ::1, en 3000 is een poortnummer. Samen verwijzen ze naar een server die lokaal draait, meestal een ontwikkelserver voor een webapp. Niemand anders op internet kan uw localhost-URL openen.
Waarom zegt localhost:3000 dat de verbinding is geweigerd?
Er accepteert geen enkel programma verbindingen op die poort. De dev-server draait misschien niet, is met een fout gecrasht of luistert op een andere poort, zoals 5173. Kijk in de terminal waar u hem hebt gestart.
Hoe los ik op dat poort 3000 al in gebruik is?
Zoek het proces dat de poort bezet houdt met lsof op Mac of Linux, of netstat -ano op Windows, en stop het met kill of taskkill. Of start uw app op een andere poort, bijvoorbeeld next dev -p 3001.
Hoe wijzig ik de poort in Next.js?
Geef -p mee, zoals in next dev -p 4000, of stel de omgevingsvariabele PORT in als u het commando uitvoert. De documentatie van Next.js merkt op dat PORT niet in een .env-bestand kan worden ingesteld, omdat de server start voordat dat bestand wordt gelezen.
Kan iemand anders mijn localhost:3000 openen?
Niet via dat adres, want localhost op hun machine betekent hun eigen computer. Om het in uw netwerk te delen moet de server op alle interfaces luisteren, en gebruiken anderen het lokale IP-adres van uw machine plus de poort.
Poorten in één alinea
Een computer kan veel servers tegelijk draaien, dus elke server luistert op een genummerde poort. Er kan maar één programma tegelijk op een bepaalde poort en een bepaald adres luisteren, daarom mislukt het starten van een tweede server op 3000 met EADDRINUSE.
Poort 3000 heeft geen officiële betekenis. Het werd een gewoonte omdat populaire tools hem als standaard kozen, en daarom is het ook de poort die het vaakst bezet is door een server die u vergeten bent.
Verbinding geweigerd, stap voor stap
Controleer eerst of er een server draait: de terminal hoort een melding dat hij klaar is en een URL te tonen. Als hij met een fout is gestopt, los die fout dan eerst op, want de browser kan geen verbinding maken met een server die er niet is.
Vergelijk daarna de poorten. Als de terminal 5173 of 4321 zegt en u typte 3000, klopt de browser aan bij een lege deur. Probeer ten slotte 127.0.0.1:3000 in plaats van localhost:3000, zodat u uitsluit dat de naam naar het IPv6-adres wordt omgezet terwijl de server alleen op IPv4 luistert.
Standaardpoorten van dev-servers
Standaardwaarden uit de eigen documentatie van elke tool, oktober 2026
Tool
Commando
Standaard-URL
next dev / next start
Hello world-voorbeeld van Express
Ruby on Rails
bin/rails server
Vite
Vite preview
vite preview
Astro
astro dev
Een bezette poort afhandelen in uw eigen server
De poort uit PORT lezen en EADDRINUSE duidelijk melden
Een kleine Express-server die terugvalt op 3000 en een leesbare melding toont als de poort bezet is.
macOS en Linux
Toon het proces dat op de poort luistert en stop het daarna via zijn PID (de tweede kolom).
Windows (opdrachtprompt)
Toon verbindingen met hun proces-ID's, filter op de poort en beëindig dan die PID.
In plaats daarvan op een andere poort draaien
Laat het andere proces met rust en start uw app op een vrije plek.
Een poort vrijmaken
Poort
Poorten lopen van 1 tot 65535. Commando's voor 3000 worden getoond.