Django WSGI加载错误项目的设置:如何调试?

Django WSGI加载错误项目的设置:如何调试?,django,mod-wsgi,Django,Mod Wsgi,我在同一台服务器上有两个基于django的web应用程序。 其中一个我称之为“正确的项目”,另一个是“错误的项目” 最后一个是CORRECT_项目,它是使用虚拟环境安装的,并使用不同版本的django(1.4)。有一个非常奇怪的问题:有时,通常在注销或电子邮件确认之后(但有时看起来只是随机的!),服务器返回500个内部服务器错误,错误日志显示 “无法导入设置‘错误的项目设置’(是否在系统路径上?):没有模块名称错误的项目设置,请参阅:更正项目/URL” 也就是说,通过加载正确的_项目,有时系统(

我在同一台服务器上有两个基于django的web应用程序。 其中一个我称之为“正确的项目”,另一个是“错误的项目”

最后一个是CORRECT_项目,它是使用虚拟环境安装的,并使用不同版本的django(1.4)。有一个非常奇怪的问题:有时,通常在注销或电子邮件确认之后(但有时看起来只是随机的!),服务器返回500个内部服务器错误,错误日志显示

“无法导入设置‘错误的项目设置’(是否在系统路径上?):没有模块名称错误的项目设置,请参阅:更正项目/URL”

也就是说,通过加载正确的_项目,有时系统(WSGI?Apache?Django?)试图从错误的_项目加载设置

通过积极地点击刷新,错误就会消失。 有什么不对劲吗?如何调试

正确的_项目在deamon模式下使用WSGI

解决方案
使用deamon模式:

您正在使用Django 1.4中的wsgi.py。在同一进程中托管多个web应用时,这将不起作用

最好的解决方案是使用守护进程模式并将每个进程委托给不同的守护进程进程组

如果无法做到这一点,请更改这两个文件的wsgi.py文件,使其不使用:

os.environ.setdefault("DJANGO_SETTINGS_MODULE", "mysite.settings")
而是使用:

os.environ["DJANGO_SETTINGS_MODULE"] = "mysite.settings"

根据需要更改mysite.settings。

谢谢Graham!我已经搜索了好几天这个问题的解决方案。你能添加一个链接到页面,在该页面中解释了不同守护进程解决方案的正确语法吗?最后我不得不切换到deamon模式,我还必须设置WSGISocketPrefix,因为在redhat上。请阅读守护程序模式示例以及使用它的原因。另外请阅读解释原始问题的内容。