que - Conectando al servidor de desarrollo EC2 Django
flask aws (5)
1) Debe asegurarse de que el puerto 8000 se agregue como una Regla TCP personalizada en su lista de puertos de entrada del Grupo de seguridad
2) Las probabilidades son que la IP que ve en su Consola AWS, que está asociada a su instancia, sea una IP PÚBLICA O un Nombre de dominio PÚBLICO (es decir, ec2 - ### - ## - ## - ##. Compute- 1.amazonaws.com o 174.101.122.132) que Amazon asigna.
2.1) Si es una IP pública, entonces su instancia no tiene forma de saber cuál es la IP pública asignada a ella, sino que solo conocerá la IP local asignada.
2.2) Para obtener su IP local en un sistema Linux, escriba:
$ ifconfig
Luego mire los datos de eth0 y verá una IP junto a "inet addr" del formato xxx.xxx.xxx.xxx (por ejemplo, 10.10.12.135) Esta es su IP local
3) Para ejecutar con éxito servidor, puede hacer uno de los dos siguientes:
$ python manage.py runserver <LOCAL IP>:8000
or
$ python manage.py runserver 0.0.0.0:8000
** La Opción Dos también funciona muy bien, como lo mencionó Ernest Ezis en su respuesta. EDITAR : Del libro de Django: "La dirección IP 0.0.0.0 le dice al servidor que escuche en cualquier interfaz de red"
** Mi teoría de la IP pública podría estar equivocada, ya que no estoy seguro de cómo Amazon asigna las IP. Apreciaría ser corregido.
Soy nuevo en EC2 y desarrollo web. Actualmente tengo una instancia de Linux EC2 en ejecución, y he instalado Django. Estoy creando un proyecto de prueba antes de comenzar con mi proyecto real y traté de ejecutar un servidor de prueba Django.
Esta es mi salida en el shell:
python manage.py runserver ec2-###-##-##-##.compute-1.amazonaws.com:8000
Validating models...
0 errors found
Django version 1.3, using settings ''testsite.settings''
Development server is running at http://ec2-###-##-##-##.compute-1.amazonaws.com:8000/
Quit the server with CONTROL-C.
Para comprobar que está funcionando, he intentado visitar: ec2-###-##-##-##.compute-1.amazonaws.com:8000
pero siempre recibo el mensaje "No se puede conectar" de mi navegador.
Cada vez que hago esto en mi computadora, sin embargo, llego con éxito a la página de inicio de desarrollo de DJango en 127.0.0.1:8000. ¿Podría alguien ayudarme a averiguar qué estoy haciendo mal / podría faltar cuando hago esto en mi instancia de EC2 en lugar de mi propia computadora portátil?
Estaba teniendo el mismo problema. Pero estaba ejecutando RHEL en EC2. Además de agregar una regla al grupo de seguridad, tuve que agregar manualmente un puerto a firewalld.
firewall-cmd --permanent --add-port=8000/tcp
firewall-cmd --reload
Eso funcionó para mí! (Aunque no tengo idea de por qué tuve que hacer eso)
Probablemente no tenga el puerto 8000 abierto en el firewall. Compruebe qué grupo de seguridad está ejecutando su instancia (probablemente "predeterminado") y verifique las reglas que está ejecutando. Probablemente encontrará que el puerto 8000 no está en la lista.
Sí, si usa la opción de inicio rápido EC2, debe agregar una nueva regla HTTP (tal como aparece en la lista) para ejecutar un servidor de desarrollo.
Usando una instancia de ec-2 con Ubuntu, encontré que la especificación 0.0.0.0:8000 funcionó:
$python manage.py runserver 0.0.0.0:8000
Por supuesto, es necesario abrir 8000 para TCP en la configuración de su grupo de seguridad.