我有一个在开发服务器上工作的 Django 项目,我正在尝试将其移至 Ubuntu 生产服务器。我已经开始并取得了明显的成功,“python manage.py run_gunicorn 0.0.0.0:8000”,但我尝试通过指向 http://JonathansCorner.com:8000/ 的常规浏览器连接到它的尝试超时。(当我手动运行“telnet localhost 8000”并发出 GET 请求时,它会打印出适当的 HTML。)UFW 被禁用。
我该怎么做才能从外部在端口 80 上使用 Gunicorn?
我有三件事让你考虑:
首先,关于您的防火墙,看起来您确实有某种防火墙在运行,因为端口 8000 已“过滤”:
其次,它看起来像在 EC2 上运行?在这种情况下,您需要修改安全组以允许此流量。
第三,直接暴露 gunicorn 通常不是一个好主意。让 gunicorn 监听
localhost:8000
(就像你一样),然后使用适当的 Web 服务器代理对 gunicorn 的请求。例如,安装 nginx,让它监听 80 端口,然后将请求代理到 gunicorn on
localhost:8000
。