Назад | Перейти на главную страницу

Режим демона mod_wsgi не работает в Apache

У меня проблемы с запуском 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. Извините за потраченное время, я думал, что все тщательно проверил перед публикацией.