У меня проблемы с запуском mod_wsgi в режиме демона в моей установке Debian / Apache 2.2.16 / Python 2.6.6 / mod_wsgi 3.3 / Django 1.3. Во встроенном режиме все работает нормально, но когда я пытаюсь переключиться в режим демона, как описано во многих HOWTO, он просто не активируется (environ['mod_wsgi.process_group']
всегда возвращает пустую строку, но ошибок не выводится).
Кроме того, установка пути python без WSGIPythonPath
директива, ни python-path
вариант для WSGIDaemonProcess
вроде работает - вывод sys.path
в сценарии wsgi всегда возвращает исходный системный путь Python.
Я читал о настройке и отладке mod_wsgi, но я просто застрял здесь, поэтому любая помощь будет оценена!
В моем файле конфигурации виртуального хоста у меня есть
<VirtualHost *:80>
ServerName mysite.com
WSGIDaemonProcess mysite.com processes=2 threads=15
WSGIProcessGroup mysite.com
WSGIScriptAlias / /path/to/mysite/wsgi/django.wsgi
<Directory /path/to/mysite/wsgi/>
Order deny,allow
Allow from all
</Directory>
</VirtualHost>
настроить. Чтобы проверить активацию режима демона, я использую этот сценарий wsgi:
import sys
import os
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'mysite.settings')
def application(environ, start_response):
print >> sys.stderr, 'mod_wsgi.process_group = %s' % repr(environ['mod_wsgi.process_group'])
from django.core.handlers.wsgi import WSGIHandler
_application = WSGIHandler()
return _application(environ, start_response)
и в результирующем файле журнала всегда говорится:
mod_wsgi.process_group = ''
что, согласно документации, указывает, что режим демона не используется. Я проверял свою настройку несколько раз, версии Apache, mod_wsgi и Python совпадают, и моя настройка верна в соответствии со всеми прочитанными мной HOWTO. Что я мог упустить?
Оказалось, что символическая ссылка была установлена неправильно, поэтому мои изменения конфигурации никогда не загружались в Apache. Извините за потраченное время, я думал, что все тщательно проверил перед публикацией.