Запуск сайта Django под mod_wsgi - PullRequest
9 голосов
/ 19 ноября 2008

Я пытаюсь запустить свои сайты Django с mod_wsgi вместо mod_python (RHEL 5). Я пробовал это на всех своих сайтах, но получаю ту же проблему. Я настроил его стандартным способом, который все рекомендуют, но время ожидания запросов к сайту просто превышено.

Apache conf:

<VirtualHost 74.54.144.34>
    DocumentRoot /wwwclients/thymeandagain
    ServerName thymeandagain4corners.com
    ServerAlias www.thymeandagain4corners.com
    LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
    CustomLog /var/log/httpd/thymeandagain_access_log combined
    ErrorLog /var/log/httpd/thymeandagain_error_log
    LogLevel error
    WSGIScriptAlias / /wwwclients/thymeandagain/wsgi_handler.py
    WSGIDaemonProcess thymeandagain user=admin group=admin processes=1 threads=16
    WSGIProcessGroup thymeandagain
</VirtualHost>

wsgi_handler.py:

import sys
import os

sys.path.append("/wwwclients")
os.environ['DJANGO_SETTINGS_MODULE'] = 'thymeandagain.settings'

import django.core.handlers.wsgi

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

Демон mod_wsgi должен порождаться, его там нет, поэтому запросы просто истекают, и я получаю кучу ошибок "Невозможно подключиться к процессу демона WSGI" в журналах. Есть ли что-то в директиве WSGIDaemonProcess, которая препятствует созданию демона? Заранее спасибо за любую помощь ...

РЕДАКТИРОВАТЬ: я получаю это в журнале ошибок:

[WARN@1227228322.174175] mcm_server_readable():2582: timeout: Operation now in progress: select(2) call timed out for read(2)able fds
[INFO@1227228322.174263] mcm_get_line():1592
[WARN@1227227903.249626] mcm_server_readable():2582: timeout: Operation now in progress: select(2) call timed out for read(2)able fds
[INFO@1227227903.249712] mcm_get_line():1592
[Thu Nov 20 21:18:17 2008] [notice] caught SIGTERM, shutting down
[Thu Nov 20 21:18:18 2008] [notice] Digest: generating secret for digest authentication ...
[Thu Nov 20 21:18:18 2008] [notice] Digest: done
[Thu Nov 20 21:18:18 2008] [notice] mod_python: Creating 4 session mutexes based on 8 max processes and 64 max threads.
[Thu Nov 20 21:18:18 2008] [notice] Apache/2.2.3 (Red Hat) mod_python/3.2.8 Python/2.4.3 mod_wsgi/2.1-BRANCH configured -- resuming normal operations

Ответы [ 3 ]

10 голосов
/ 24 июня 2009

Настоящая проблема - права доступа к каталогу журналов Apache. Необходимо указать Apache / mod_wsgi использовать другое расположение для сокетов UNIX, используемых для связи с процессами демона. См:

http://code.google.com/p/modwsgi/wiki/ConfigurationIssues#Location_Of_UNIX_Sockets

4 голосов
/ 04 декабря 2008

Проблема в том, что mod_python не очень хорошо сочетается с mod_wsgi. Я столкнулся с подобной проблемой несколько недель назад, и у меня все заработало вскоре после того, как я прокомментировал включение mod_python.

Попробуйте поискать modwsgi.org вики для "mod_python", я думаю, что кто-то говорил об этом где-то в комментариях

1 голос
/ 19 ноября 2008

Здесь - очень подробное описание того, как интегрировать django с mod_wsgi.

...