2008-11-19 16 views
9

Próbuję uruchomić moje witryny Django z mod_wsgi zamiast mod_python (RHEL 5). Próbowałem tego ze wszystkimi witrynami, ale mam ten sam problem. Skonfigurowałem go w standardowy sposób, który wszyscy polecają, ale prośby do witryny po prostu przestają działać.Uruchamianie strony Django pod mod_wsgi

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() 

Demon mod_wsgi ma tarło się nie ma, więc po prostu czas na wnioski i mam kilka „Nie połączyć się z procesami demona WSGI "błędy w dziennikach. Czy jest coś w dyrektywie WSGIDaemonProcess, która uniemożliwia utworzenie demona? Dzięki z góry za wszelką pomoc ...

EDIT: mam to w dzienniku błędów:

[[email protected]] mcm_server_readable():2582: timeout: Operation now in progress: select(2) call timed out for read(2)able fds 
[[email protected]] mcm_get_line():1592 
[[email protected]] mcm_server_readable():2582: timeout: Operation now in progress: select(2) call timed out for read(2)able fds 
[[email protected]] 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 
+0

Czy jest coś w dzienniku błędów serwera? Sądzę, że powie ci tam, jeśli wystąpił problem z uruchomieniem procesu demona WSGI. – Powerlord

+0

To rozwiązało mój problem http://blog.dscpl.com.au/2010/03/improved-wsgi-script-for-use-with.html –

Odpowiedz

4

Problem polega na tym, że mod_python nie pasuje do mod_wsgi. Kilka tygodni temu dostałem podobny problem i wszystko zaczęło działać dla mnie wkrótce po tym, jak skomentowałem włączenie mod_python.

spróbuj wyszukać modwsgi.org wiki dla „mod_pythonem”, wierzę, że ktoś mówi o tym gdzieś w komentarzach

1

Here jest bardzo szczegółowy opis, w jaki sposób zintegrować Django z mod_wsgi.

10

Prawdziwym problemem jest to, uprawnienia Apache katalogu dziennika. Konieczne jest poinformowanie Apache/mod_wsgi o użyciu alternatywnej lokalizacji dla gniazd UNIX używanych do komunikacji z procesami demonów. Zobacz:

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

+0

To był mój problem; z systemem CentOS 6 z głównie-stock httpd.conf, nie miałem załadowanego mod_python (jak sugerowała inna odpowiedź), ale skonfigurowanie WSGISocketPrefix i odpowiednich uprawnień w katalogu socket naprawiło to! – mjjohnson

+1

To też był mój problem. Korzystam z RHEL6 i naprawiłem plik "WSGISocketPrefix/var/run/wsgi" na httpd.conf. – Nifle