我的Django应用程序在我的生产服务器上运行得很好,直到我在推送对settings.py文件的更改后尝试重新启动它。我跑了
apache2/bin/restart像往常一样。然后我尝试在我的浏览器上访问我的应用程序,我得到了504网关超时。我查看了mod_wsgi日志,看到了以下内容:
[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文件中唯一改变的就是移动了一些变量名。我仍然可以通过以下方式成功地与应用程序交互
python2.7 manage.py shell但我不能在网上找到它,也不能使用API。
编辑:这是我的wsgi.py文件:
import os
from django.core.wsgi import get_wsgi_application
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "<myapp>.settings")
application = get_wsgi_application()发布于 2016-11-04 10:04:15
众所周知,像numpy这样的Python C扩展模块在mod_wsgi下使用时会导致超时。这个问题有一个清晰的解释(直接来自mod_wsgi的作者),可以在https://serverfault.com/a/514251/109598上找到
如果这听起来可能是你的问题的原因,那么解决方案可能很简单-在你的httpd.conf中添加以下内容:
WSGIApplicationGroup %{GLOBAL}确保在进行更改后重新启动Apache实例。
发布于 2019-03-30 00:30:21
这就是我是如何找到问题的根本原因的。
python manage.py showmigrations我的应用程序无法访问数据库服务器,因此它最终会超时。运行manage.py时,我可以在控制台上看到错误消息。
发布于 2019-03-03 00:28:13
尝试在httpd.conf中增加Timeout指令,在Apache2.4中默认为60秒。例如:
TimeOut 600https://stackoverflow.com/questions/40413171
复制相似问题