首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Django Webfaction‘从守护进程读取响应头时超时’

Django Webfaction‘从守护进程读取响应头时超时’
EN

Stack Overflow用户
提问于 2016-11-04 07:54:48
回答 5查看 18.7K关注 0票数 22

我的Django应用程序在我的生产服务器上运行得很好,直到我在推送对settings.py文件的更改后尝试重新启动它。我跑了

代码语言:javascript
复制
apache2/bin/restart

像往常一样。然后我尝试在我的浏览器上访问我的应用程序,我得到了504网关超时。我查看了mod_wsgi日志,看到了以下内容:

代码语言:javascript
复制
[Thu Nov 03 23:46:53.605625 2016] [wsgi:error] [pid 8027:tid 139641332168448]
[client 127.0.0.1:34570] Timeout when reading response headers from daemon 
process 'myapp' : /home/<me>/webapps/<myapp>/<ProjectName>/<myapp>/wsgi.py

这意味着什么,我如何修复它?我在settings.py文件中唯一改变的就是移动了一些变量名。我仍然可以通过以下方式成功地与应用程序交互

代码语言:javascript
复制
python2.7 manage.py shell

但我不能在网上找到它,也不能使用API。

编辑:这是我的wsgi.py文件:

代码语言:javascript
复制
import os

from django.core.wsgi import get_wsgi_application

os.environ.setdefault("DJANGO_SETTINGS_MODULE", "<myapp>.settings")

application = get_wsgi_application()
EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2016-11-04 10:04:15

众所周知,像numpy这样的Python C扩展模块在mod_wsgi下使用时会导致超时。这个问题有一个清晰的解释(直接来自mod_wsgi的作者),可以在https://serverfault.com/a/514251/109598上找到

如果这听起来可能是你的问题的原因,那么解决方案可能很简单-在你的httpd.conf中添加以下内容:

代码语言:javascript
复制
WSGIApplicationGroup %{GLOBAL}

确保在进行更改后重新启动Apache实例。

票数 36
EN

Stack Overflow用户

发布于 2019-03-30 00:30:21

这就是我是如何找到问题的根本原因的。

代码语言:javascript
复制
python manage.py showmigrations

我的应用程序无法访问数据库服务器,因此它最终会超时。运行manage.py时,我可以在控制台上看到错误消息。

票数 6
EN

Stack Overflow用户

发布于 2019-03-03 00:28:13

尝试在httpd.conf中增加Timeout指令,在Apache2.4中默认为60秒。例如:

代码语言:javascript
复制
TimeOut 600
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40413171

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档