服务器似乎随机吐出错误消息:处理WSGI脚本时发生异常

时间:2014-01-27 15:49:46

标签: django apache mod-wsgi

在工作中,我们的主机最近将我们的服务器配置为并行运行多个Django项目,但有些事情并不完全正确。有两个主要问题。

  1. 更改不会立即生效。首次部署(或更改)站点时,将会有几个小时的延迟时间。这通常意味着不断出现500次错误。

  2. 一旦所有东西都安定下来,网站会在某些时候工作,但它们会随机破坏。他们首先说没有错误消息,但他们最终给了我检查日志文件的权限。它似乎是随意加载不同设置文件的不同部分。在下面的回溯中,从URL 1发出请求,然后服务器在URL 2的目录中查找,并尝试加载wsgi.py中为URL 3定义的设置模块。但就像我说的,这不会发生每次。有时网站会正确加载。

  3. 我已经在我自己的主机上测试了这些项目,一切都按预期工作,但我在主机上没有权限来检查httpd.conf的确切配置和其他各种必要的东西。我也没有足够的经验与apache盲目猜测问题是什么,所以我在这里不知所措。我应该问什么具体的配置问题?

    提前致谢。

     mod_wsgi (pid=####): Exception occurred processing WSGI script '/srv/www/**<url-project 1>**/wsgi.py'.
      Traceback (most recent call last):
       File "/srv/www/**<url-project 2>**/.local/lib/python2.7/site-packages/django/core/handlers/wsgi.py", line 236, in __call__
         self.load_middleware()
       File "/srv/www/**<url-project 2>**/.local/lib/python2.7/site-packages/django/core/handlers/base.py", line 45, in load_middleware
         for middleware_path in settings.MIDDLEWARE_CLASSES:
       File "/srv/www/**<url-project 2>**/.local/lib/python2.7/site-packages/django/conf/__init__.py", line 53, in __getattr__
         self._setup(name)
       File "/srv/www/**<url-project 2>**/.local/lib/python2.7/site-packages/django/conf/__init__.py", line 48, in _setup
         self._wrapped = Settings(settings_module)
       File "/srv/www/**<url-project 2>**/.local/lib/python2.7/site-packages/django/conf/__init__.py", line 134, in __init__
         raise ImportError("Could not import settings '%s' (Is it on sys.path?): %s" % (self.SETTINGS_MODULE, e))
     ImportError: Could not import settings '**<url-project 3>**.settings.production' (Is it on sys.path?): No module named **<url-project 3**>.settings.production
    

2 个答案:

答案 0 :(得分:1)

请务必阅读:

不要在WSGI脚本文件中使用os.environ.setdefault(),因为现在由Django生成。改为改为os.environ [...]。

答案 1 :(得分:0)

格雷厄姆的回答很有帮助。对于其他任何有同样问题的人,我还想指出WSGIApplicationGroup上有关每个wsgi应用程序应该在它自己的python子解释器上运行的部分。

此处有更多信息:http://modwsgi.readthedocs.org/en/latest/configuration-directives/WSGIApplicationGroup.html