Puerto 8000 (Django, Python)
El puerto 8000 es el predeterminado del servidor de desarrollo de Django (manage.py runserver) y del servidor web integrado de Python (python -m http.server). En IANA está registrado para otro servicio (irdmi).
- Servicio
- Django, Python
- Protocolo
- TCP
- Registro de IANA
- Asignado a otro servicio: irdmi (iRDMI), TCP/UDP. El uso descrito aquí no está registrado.
- Lo usan a menudo
Comprueba si un puerto está abierto en tu IP
Solo comprobamos la dirección desde la que nos visitas, un puerto TCP cada vez. No se puede escribir la dirección de otra persona: esto no es un escáner de puertos.
¿Es seguro abrir el puerto 8000?
Los dos servidores son solo para desarrollo y sirven la carpeta en la que se ejecutan. Déjalos en localhost; si el 8000 debe ser accesible, pon delante un servidor web real con TLS.
«Port 8000 is already in use»: cómo solucionarlo
El error significa que otro programa ya escucha en el puerto 8000. Busca su identificador de proceso (PID) y detén ese programa o arranca el tuyo en otro puerto.
Windows (Símbolo del sistema o PowerShell como administrador)
netstat -ano | findstr :8000taskkill /PID <PID> /FmacOS
lsof -nP -iTCP:8000 -sTCP:LISTENkill <PID>Linux
sudo ss -ltnp | grep :8000sudo lsof -i :8000sudo kill <PID>Sustituye <PID> por el número de la última columna (Windows) o de la columna PID (macOS, Linux).
Puerto 8000 o 8080
Ninguno tiene nada especial: los dos son puertos altos que cualquier usuario puede abrir. El 8080 está registrado como HTTP alternativo y es el de Tomcat y Jenkins; el 8000 es el que eligen Django y el http.server de Python. Para desarrollo da igual cuál; en producción pon la app detrás de un servidor web en el 443.
Puerto 8080 (HTTP alternativo)Por qué un puerto puede parecer cerrado con el servidor funcionando
Casi todas las redes domésticas están detrás de un router con NAT: la dirección pública es del router y tu ordenador tiene una privada, como 192.168.1.10. Una conexión desde internet llega al router y se queda ahí, salvo que crees una regla de reenvío de puertos hacia tu ordenador.
Muchos operadores móviles y algunos domésticos van más allá y usan CGNAT (NAT de operador): varios clientes comparten una dirección pública y tu propio router recibe una dirección de 100.64.0.0/10. En ese caso ninguna regla en tu lado abre el puerto; pide al operador una IP pública o usa un túnel o una VPN.
Aunque el reenvío esté configurado, el cortafuegos del ordenador (Firewall de Windows Defender, ufw, firewalld) debe permitir el puerto, y el programa tiene que escuchar en todas las interfaces (0.0.0.0), no solo en 127.0.0.1.
UDP no se puede comprobar así: un servicio UDP normalmente no responde a paquetes que no entiende, y «sin respuesta» no significa nada. Esta comprobación usa solo TCP.
Preguntas frecuentes
¿Para qué sirve el puerto 8000?
El puerto 8000 es el predeterminado del servidor de desarrollo de Django (manage.py runserver) y del servidor web integrado de Python (python -m http.server). En IANA está registrado para otro servicio (irdmi).
¿El puerto 8000 es TCP o UDP?
El puerto 8000 usa TCP. Este uso no está registrado en IANA.
¿Es seguro abrir el puerto 8000?
Los dos servidores son solo para desarrollo y sirven la carpeta en la que se ejecutan. Déjalos en localhost; si el 8000 debe ser accesible, pon delante un servidor web real con TLS.
¿Cómo libero el puerto 8000 si está en uso?
Busca el proceso: en Windows ejecuta netstat -ano | findstr :8000 y detenlo con taskkill /PID <pid> /F; en macOS o Linux ejecuta lsof -i :8000 y detenlo con kill <pid>.