【问题标题】:Can't see wsgi response in browser在浏览器中看不到 wsgi 响应
【发布时间】:2016-07-13 11:27:56
【问题描述】:

我已经阅读了一些关于如何使用 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 应用程序。任何帮助将不胜感激。

【问题讨论】:

  • 该设置非常适合我,在 digitalocean 液滴上运行带有 gunicorn 的精确 wsgi 文件。我看不出你做错了什么;愚蠢的问题我知道,但你确定你有正确的 IP 地址吗?
  • 哈哈 - 没有什么是太傻了,特别是因为我对很多这些工具都很陌生。但是,是的,我使用了正确的 IP 地址。
  • 您是否尝试过将日志文件名更改为 log.txt 之类的名称或检查是否正在创建包含一些信息的日志文件?

标签: python nginx browser wsgi gunicorn


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-02-18
    • 2015-05-30
    • 1970-01-01
    • 2013-03-10
    • 2022-07-04
    • 1970-01-01
    • 1970-01-01
    • 2015-07-23
    相关资源
    最近更新 更多