Como posso disponibilizar um projeto Django Gunicorn?

Como posso disponibilizar um projeto Django Gunicorn?

Tenho um projeto Django que estava funcionando em um servidor de desenvolvimento e estou tentando movê-lo para um servidor de produção Ubuntu. Comecei, com aparente sucesso, um "python manage.py run_gunicorn 0.0.0.0:8000", mas minhas tentativas de conectar-me a ele por meio de um navegador normal apontaram parahttp://JonathansCorner.com:8000/estão expirando. (Quando executo manualmente "telnet localhost 8000" e forneço uma solicitação GET, ele imprime o HTML apropriado.) O UFW está desabilitado.

O que posso fazer para disponibilizar o Gunicorn na porta 80 de fora?

Responder1

Tenho três coisas para você considerar:

Primeiro, em relação ao seu firewall, parece que vocêfazertem algum tipo de firewall ativado, pois a porta 8000 está "filtrada":

~ 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

Em segundo lugar, parece que está rodando no EC2? Sendo esse o caso, você precisará modificar seu grupo de segurança para permitir esse tráfego.

Terceiro, normalmente não é uma boa ideia expor diretamente o gunicórnio. Faça com que o gunicorn ouça localhost:8000(como você está) e, em seguida, use um servidor web adequado para fazer proxy de solicitações para o gunicorn.

Por exemplo, instale o nginx e tenhaistoouça na porta 80 e, em seguida, faça solicitações de proxy para o gunicorn em localhost:8000.

informação relacionada