¿Cómo puedo publicar un proyecto de Django Gunicorn?

¿Cómo puedo publicar un proyecto de Django Gunicorn?

Tengo un proyecto de Django que estaba funcionando en un servidor de desarrollo y estoy intentando trasladarlo a un servidor de producción de Ubuntu. Comencé, con aparente éxito, un "python Manage.py run_gunicorn 0.0.0.0:8000", pero mis intentos de conectarme a través de un navegador normal apuntaron ahttp://JonathansCorner.com:8000/se están acabando el tiempo. (Cuando ejecuto manualmente "telnet localhost 8000" y realizo una solicitud GET, imprime el HTML apropiado). UFW está deshabilitado.

¿Qué puedo hacer para que Gunicorn esté disponible en el puerto 80 desde el exterior?

Respuesta1

Tengo tres cosas que debes considerar:

Primero, con respecto a su firewall, parece que ustedhacertiene algún tipo de firewall activo, ya que el puerto 8000 está "filtrado":

~ nmap jonathanscorner.com -p 8000

Starting Nmap 6.40 ( http://nmap.org ) at 2014-01-14 09:53 CST
Nmap scan report for jonathanscorner.com (54.218.143.2)
Host is up (0.10s latency).
rDNS record for 54.218.143.2: ec2-54-218-143-2.us-west-2.compute.amazonaws.com
PORT     STATE    SERVICE
8000/tcp filtered http-alt

En segundo lugar, ¿parece que esto se está ejecutando en EC2? Siendo ese el caso, deberá modificar su grupo de seguridad para permitir este tráfico.

En tercer lugar, normalmente no es una buena idea exponer directamente a gunicorn. Haga que gunicorn escuche localhost:8000(como está) y luego use un servidor web adecuado para enviar solicitudes a gunicorn.

Por ejemplo, instale nginx y tengaélescuche en el puerto 80 y luego envíe las solicitudes de proxy a gunicorn en localhost:8000.

información relacionada