我有一些在 Ubuntu Precise 和 Ubuntu Lucid 上运行的 Django 应用程序。 我注意到有时在我的日志中我有一些 503。在那些 503 期间,我在我的 apache 错误日志中发现了这些日志:
(2)
No such file or directory: mod_wsgi (pid=24507): Unable to connect to WSGI daemon process 'appname' on '/var/run/apache2/wsgi.27607.2.18.sock' after multiple attempts
我所有的应用程序都设置了 WSGIDaemon 模式,设置与此类似:
WSGIDaemonProcess appname display-name=wsgi-appname \
processes=4 \
threads=4 \
maximum-requests=1000 \
inactivity-timeout=120 \
deadlock-timeout=60 \
shutdown-timeout=5
WSGIProcessGroup appname
mod_wsgi 文档在这里提到了这个问题:https://code.google.com/p/modwsgi/wiki/ConfigurationIssues#Location_Of_UNIX_Sockets 但这似乎不适用于我的情况,因为我只是偶尔看到错误。
一个有趣的事情要注意:
在我的一台服务器上,apache 于 3 月 12 日启动。我最后一次看到错误是 Mar 25 18:02:32
,它与 .sock
文件的创建日期相匹配。
编辑:这个时间戳在 apache 重新加载发生时更新。我想知道是否重新加载导致了 503s...
有谁知道为什么会这样或者我该如何调试它?
最佳答案
是的。 Apache 正常重启可能会导致这种情况,尤其是在 HTTP 客户端使用保持事件连接的情况下。如果您只运行一个带有 mod_wsgi 守护进程模式的 Python Web 应用程序,而不使用 Apache 做任何其他事情,因为优雅的重启不会对 mod_wsgi 守护进程做任何特殊的事情,您也可以使用 Apache 重启而不是重新加载。
要更深入地描述 mod_wsgi 的工作原理,请使用 mod_wsgi 列表而不是 StackOverflow,因为这里不是讨论论坛。
关于django - (2)没有那个文件或目录 : mod_wsgi (pid=24507),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29272726/