Случайная ошибка 500 - PullRequest
4 голосов
/ 02 марта 2011

Мы используем Apache + mod_wsgi для размещения нашего приложения Django.

Apache:

WSGIScriptAlias / /home/rls/django_wsgi.py

django_wsgi.py:

import os, sys
sys.path.append('data/misc/django')
os.environ['DJANGO_SETTINGS_MODULE'] = 'rls.settings'

import django.core.handlers.wsgi

application = django.core.handlers.wsgi.WSGIHandler()

Все работает нормально, но иногда мы получаем 500 внутренних ошибок сервера с этим в журналах:

mod_wsgi (pid=4825): Exception occurred processing WSGI script '/home/rls/django_wsgi.py'.
Traceback (most recent call last):
File "/usr/lib/python2.5/site-packages/django/core/handlers/wsgi.py", line 230, in __call__
self.load_middleware()
File "/usr/lib/python2.5/site-packages/django/core/handlers/base.py", line 33, in load_middleware
for middleware_path in settings.MIDDLEWARE_CLASSES:
File "/usr/lib/python2.5/site-packages/django/utils/functional.py", line 276, in __getattr__
self._setup()
File "/usr/lib/python2.5/site-packages/django/conf/__init__.py", line 40, in _setup
self._wrapped = Settings(settings_module)
File "/usr/lib/python2.5/site-packages/django/conf/__init__.py", line 75, in __init__
raise ImportError("Could not import settings '%s' (Is it on sys.path? Does it have syntax errors?): %s" % (self.SETTINGS_MODULE, e))
ImportError: Could not import settings 'rls.settings' (Is it on sys.path? Does it have syntax errors?): No module named rls.settings

Конечно, нет никаких синтаксических ошибок в settings.py, так как он загружается нормально каждый раз. Что мне не хватает? Большое спасибо за вашу помощь.

1 Ответ

2 голосов
/ 16 марта 2011

Попробуйте установить абсолютный путь к каталогу, в котором находится файл settings.py.В вашем случае должно быть что-то вроде:

sys.path.append('/%s/data/misc/django'%ROOT_2_DATA)

Вы также должны убедиться, что у группы apache есть права на чтение / запись папки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...