我试图添加一个模块到现有的Django项目,但一旦我完成了它,我得到一个502错误。 服务器正在运行Ubuntu。 我不认为它与应用程序代码有关,因为我在django开发服务器上运行它。 当我从settings.py中取出应用程序的名字并重新启动gunicorn时,它就会消失。
这是日志的一部分
2011/07/15 01:24:45 [error] 16136#0: *75593 connect() failed (111: Connection refused) while connecting to upstream, client: 24.17.8.152, server: staging.site.org, request: "GET / HTTP/1.1", upstream: "http://127.0.0.1:8020/", host: "staging.site.org"
这是nginxconfiguration文件。 Nginx的configuration文件
我不确定还需要其他信息。 不知道gunicorn日志所在的位置。 我的服务器pipe理技能是缺乏的。 我应该做些什么来弄清问题的起点。
可能是导致django应用程序完全失败的模块中有一个错误。 检查它是否在运行。
你是如何安装新模块的? 如果您使用pip,apt-get等将其安装在您的开发机器上,请确保您在服务器上执行相同的操作。
我不知道这是否适用于你,但我有一个类似的问题,使用nginx和乘客,我没有包括我的django根目录(manage.py/settings.py/etc)在我的工作path。 我没有使用gunicorn,但是有可能你需要在你的gunicornconfiguration的某处添加sys.path.append ?
Connection refused是一个非常明显的。 这意味着你的后端(在这种情况下,gunicorn)不在你在nginxconfiguration中指定的端口上运行(在这种情况下,8020)。
这里有两件事情之一。 或者:
如果你确定这是正确的港口,那么尝试启动gunicorn。