Итак, я пытаюсь создать OSQA сервер локально в качестве тестового запуска, так что, когда я настрою его на внешнем сервере, все пройдет гладко. я следую этот учебник и пока шли хорошо, но застряли. При запуске Apache и OSQA я использую Ubuntu 11.04 Natty Narwhal, Python2.7, Django, Apache, MySQL и все остальное, что требует учебник, однако, когда я пытаюсь посетить сайт (http: // localhost) Я получаю внутреннюю ошибку сервера 500. Посмотрев журнал ошибок, я вижу следующее:
[Tue Oct 11 20:13:35 2011] [notice] mod_python: using mutex_directory /tmp
[Tue Oct 11 20:13:36 2011] [notice] Apache/2.2.17 (Ubuntu) mod_python/3.3.1 Python/2.7.1+ mod_wsgi/3.3 configured -- resuming normal operations
[Tue Oct 11 20:15:13 2011] [notice] caught SIGTERM, shutting down
[Tue Oct 11 20:15:14 2011] [notice] mod_python: Creating 8 session mutexes based on 6 max processes and 25 max threads.
[Tue Oct 11 20:15:14 2011] [notice] mod_python: using mutex_directory /tmp
[Tue Oct 11 20:15:14 2011] [notice] Apache/2.2.17 (Ubuntu) mod_python/3.3.1 Python/2.7.1+ mod_wsgi/3.3 configured -- resuming normal operations
[Tue Oct 11 20:23:46 2011] [notice] caught SIGTERM, shutting down
[Tue Oct 11 20:23:47 2011] [notice] mod_python: Creating 8 session mutexes based on 6 max processes and 25 max threads.
[Tue Oct 11 20:23:47 2011] [notice] mod_python: using mutex_directory /tmp
[Tue Oct 11 20:23:47 2011] [notice] Apache/2.2.17 (Ubuntu) mod_python/3.3.1 Python/2.7.1+ mod_wsgi/3.3 configured -- resuming normal operations
Обратите внимание, что я несколько раз пытался перезапустить сервер, поэтому есть дубликаты. Я решил некоторые другие проблемы с помощью форумов, но я не могу найти ответа на этот. Может кто-нибудь объяснить, что означает журнал ошибок и почему SIGTERM отправляется в apache сразу после его запуска?
РЕДАКТИРОВАТЬ: при проверке osqa.error.log я вижу следующее:
[Tue Oct 11 20:24:16 2011] [error] [client 127.0.0.1] self.load_middleware()
[Tue Oct 11 20:24:16 2011] [error] [client 127.0.0.1] File "/usr/local/lib/python2.7/site-packages/Django-1.3.1-py2.7.egg/django/core/handlers/base.py", line 39, in load_middleware
[Tue Oct 11 20:24:16 2011] [error] [client 127.0.0.1] for middleware_path in settings.MIDDLEWARE_CLASSES:
[Tue Oct 11 20:24:16 2011] [error] [client 127.0.0.1] File "/usr/local/lib/python2.7/site-packages/Django-1.3.1-py2.7.egg/django/utils/functional.py", line 276, in __getattr__
[Tue Oct 11 20:24:16 2011] [error] [client 127.0.0.1] self._setup()
[Tue Oct 11 20:24:16 2011] [error] [client 127.0.0.1] File "/usr/local/lib/python2.7/site-packages/Django-1.3.1-py2.7.egg/django/conf/__init__.py", line 42, in _setup
[Tue Oct 11 20:24:16 2011] [error] [client 127.0.0.1] self._wrapped = Settings(settings_module)
[Tue Oct 11 20:24:16 2011] [error] [client 127.0.0.1] File "/usr/local/lib/python2.7/site-packages/Django-1.3.1-py2.7.egg/django/conf/__init__.py", line 89, in __init__
[Tue Oct 11 20:24:16 2011] [error] [client 127.0.0.1] raise ImportError("Could not import settings '%s' (Is it on sys.path?): %s" % (self.SETTINGS_MODULE, e))
[Tue Oct 11 20:24:16 2011] [error] [client 127.0.0.1] ImportError: Could not import settings 'osqa.settings' (Is it on sys.path?): No module named osqa.settings
Я попробую разобраться в этом. Буду обновлять, если возникнут дальнейшие проблемы. Спасибо.
Я не специалист по OSQA, на самом деле никогда не использовал его. Однако я немного знаю Python, и, глядя на вашу трассировку стека, я бы сказал, что вам не хватает модуля импорта / библиотеки Python с некоторым описанием.
Похоже, приложение, которое вы пытаетесь запустить, пытается импортировать модуль python, который обрабатывает его настройки, и оно либо не может его найти, либо загрузить.
Выполните поиск в вашей серверной среде, посмотрите, сможете ли вы найти файл. Если вы можете проверить его разрешения и убедиться, что он доступен для чтения любому пользователю, на котором запущен веб-сервер и / или приложение OSQA (Совет: если разные, возможно, потребуется сделать их членами одной группы).
Если в этом отношении все в порядке, убедитесь, что модуль находится в том месте, где ваш интерпретатор python ожидает найти дополнительные файлы библиотеки и модули.
Независимо от того, что вызывает окончательный сигтерм, я предполагаю, что, скорее всего, mod_python перевернется из-за отсутствия файла мода, вызывающего исключения / сбои в коде приложения.