在浏览器中看不到 wsgi 响应

Can't see wsgi response in browser

我学习了一些关于如何使用 gunicorn 和 nginx 部署 Python wsgi 应用程序的教程。我已经按照这些步骤操作,应用程序似乎 运行,但是当我尝试访问浏览器中的相关端口时,浏览器会永远加载并且永远不会解析任何内容。

我正在使用 Ubuntu 14.04、Python 2.7 和 gunicorn 19.1。大多数情况下,我一直在使用本教程:https://www.digitalocean.com/community/tutorials/how-to-deploy-python-wsgi-apps-using-gunicorn-http-server-behind-nginx

其中包含有关如何设置最基本的 wsgi 应用程序作为概念证明的说明。基本上,您将这段代码放入一个名为 "wsgi.py"

的文件中
def application(env, start_response):
    start_response('200 OK', [('Content-Type', 'text/html')])
    return ["Hello!"]

所以我做到了。然后,从包含 wsgi.py 文件的目录中,我 运行: "$ gunicorn wsgi --bind 0.0.0.0:8080 --log-file=-"

进程开始,似乎 运行 正常。应该是这样吧?但是当我转到 http://[my-IP-address]:8080 时,浏览器就永远停止了。

对我做错了什么有什么想法吗?起初我想也许我必须用 nginx 配置一些东西,但现在我认为 nginx 不需要参与只是为了证明我可以 运行 这个 wsgi 应用程序。任何帮助将不胜感激。

感谢 Daniel 和 Cory 的建议,但我想通了。这是因为我不熟悉 nginx 配置文件的语法。有一条线路阻止了来自一系列端口的所有流量,其中包括我的应用所在的端口 运行。

当有人建议我尝试使用 curl(我总是忘记它)而不是使用浏览器来点击 URL 时,一个突破出现了。当我从为应用程序提供服务的同一台机器上执行此操作时,它运行良好,因为配置确实允许从本地主机到该端口的流量。我的收获:不要忘记卷曲!