如何获得 Django Gunicorn 项目?

如何获得 Django Gunicorn 项目?

我有一个在开发服务器上运行的 Django 项目,现在我想将其移到 Ubuntu 生产服务器上。我启动了“python manage.py run_gunicorn 0.0.0.0:8000”,似乎成功了,但我尝试通过常规浏览器连接到它时,却发现http://JonathansCorner.com:8000/超时了。(当我手动运行“telnet localhost 8000”并发出 GET 请求时,它会打印出相应的 HTML。)UFW 已禁用。

我该怎么做才能从外部在端口 80 上使用 Gunicorn?

答案1

我有三件事供您考虑:

首先,关于你的防火墙,看起来你运行某种防火墙,因为端口 8000 被“过滤”了:

~ 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

其次,这看起来像是在 EC2 上运行?如果是这样,您需要修改安全组以允许此流量。

第三,直接暴露 gunicorn 通常不是一个好主意。让 gunicorn 监听localhost:8000(就像你一样),然后使用适当的 Web 服务器将请求代理到 gunicorn。

例如,安装 nginx,并监听端口 80,然后通过 gunicorn 代理请求localhost:8000

相关内容