Seguí las instrucciones aquí para ejecutar Django usando el servidor web incorporado y pude ejecutarlo con éxito usando python manage.py runserver
. Si accedo a 127.0.0.1:port localmente desde el servidor web, aparece la página de Django que indica que funcionó.
Me doy cuenta de que el servidor web Django no es un servidor de producción, pero es importante para mí, con fines de prueba, poder acceder desde el mundo exterior, es decir, no desde un navegador web en el servidor, sino desde una computadora diferente.
Lo intenté:
http://mywebserver:port_django_runs_on
Pero no funcionó. También intenté usar la IP en su lugar (basado en ifconfig) para acceder:
http://myipaddress:port_django_runs_on
que tampoco funcionó.
El servidor web se está ejecutando, por lo que debe ser accesible desde el exterior, pero no estoy seguro de cómo hacerlo. Estoy ejecutando Linux con Apache, aunque no he configurado Django con Apache.
¿Alguna idea sobre cómo hacer esto?
Respuestas:
Debe ejecutar el servidor de desarrollo de modo que escuche en la interfaz de su red.
P.ej
escucha en cada interfaz en el puerto 8000.
No importa si accede al servidor web con la IP o el nombre de host. Supongo que todavía estás en tu propia LAN.
Si realmente desea acceder al servidor desde el exterior, también debe configurar su enrutador para reenviar el puerto, por ejemplo,
8000
a su servidor.¡Compruebe su firewall en su servidor si las conexiones entrantes al puerto en uso están permitidas!
Suponiendo que puede acceder a su servidor Apache desde el exterior con éxito, también puede intentar esto:
80
esté libre.sudo python manage.py runserver 0.0.0.0:80
fuente
sudo python manage.py runserver 80
.ALLOWED_HOSTS = ['*']
para mí acceder a la aplicación Django en una Mac desde mi teléfono AndroidTuve que agregar esta línea a settings.py para que funcione (de lo contrario, mostró un error al acceder desde otra computadora)
luego ejecutó el servidor con:
También asegúrese de que el firewall permita conexiones a ese puerto
fuente
Elija uno o más de:
Por lo tanto, puede verificar que su aplicación esté escuchando correctamente ejecutándose
lsof -i
como root en la máquina y buscar unapython
entrada con el puerto correspondiente que haya especificado.Los usuarios no root generalmente no pueden vincularse a puertos <1024.
Deberá mirar
iptables -nvL
para ver si hay una regla que impida el acceso al puerto ip: al que está intentando vincular su aplicación.Si hay un cortafuegos ascendente y no sabe mucho al respecto, deberá hablar con los administradores de su red.
fuente
you haven't configured it successfully
?django runserver
realmente está escuchando donde pretendes que esté, por ejemplo, usandolsof
.lsof
veo una entrada de python para mi puerto. Pero mi enlace, es decir, myip: 8000 no responde. Sé que es tarde, pero cualquier sugerencia ayudará.solo haz esto:
con el comando anterior, realmente lo está vinculando a la dirección IP externa. así que ahora cuando acceda a su dirección IP con el número de puerto, podrá acceder a ella en el navegador sin ningún problema.
simplemente escriba lo siguiente en la barra de direcciones del navegador:
p.ej:
puede que tenga que editar settings.py agregue lo siguiente en settings.py en la última línea:
Espero que esto ayude ...
fuente
Para usuarios de AWS.
Tuve que seguir los siguientes pasos para llegar allí.
1) Asegúrese de que pip y django estén instalados en el nivel sudo
2) Asegúrese de que las reglas de entrada del grupo de seguridad incluyan http en el puerto 80 para 0.0.0.0/0
3) Agregue IP pública y DNS a ALLOWED_HOSTS
4) Inicie el servidor de desarrollo con sudo en el puerto 80
El sitio ahora está disponible en cualquiera de los siguientes (no es necesario: 80, ya que es el valor predeterminado para http):
fuente
Voy a agregar esto aquí:
sudo python manage.py runserver 80
Vaya a su teléfono o computadora e ingrese la IP interna de su computadora (por ejemplo
192.168.0.12
) en el navegador.En este punto, debería estar conectado al servidor Django.
Esto también debería funcionar sin sudo:
fuente
Si está utilizando Docker, debe asegurarse de que los puertos también estén expuestos
fuente
ACTUALIZADO 2020 INTENTE ESTE CAMINO
fuente