2013-01-19 8 views
7

Sto provando ad installare Python con WSGI per una particolare directory su Apache, ma sto ottenendo il seguente errore:Impostazione Python con WSGI su Apache per una directory

mod_wsgi (pid=3857): Target WSGI script '/var/www/test/test.py' does not contain WSGI application 'application'. 

mio test.py contiene:

print 'Hello, World!' 

E il mio wsgi.conf contiene:

LoadModule wsgi_module modules/mod_wsgi.so 

WSGIPythonHome /usr/local/bin/python2.7 

Alias /test/ /var/www/test/test.py 

<Directory /var/www/test> 
    SetHandler wsgi-script 
    Options ExecCGI 
    Order deny,allow 
     Allow from all 
</Directory> 

in cima a tutto questo, abbastanza interessante, il browser web restituisce un errore "404 non trovato" ma per fortuna error_log è un po 'più illuminante.

Cosa sto sbagliando?

risposta

13

Stai utilizzando WSGI come se fosse CGI (stranamente senza intestazioni).

Quello che dovete fare, per il vostro problema immediato è adattare il seguente da http://code.google.com/p/modwsgi/wiki/QuickConfigurationGuide

def application(environ, start_response): 
    status = '200 OK' 
    output = 'Hello World!' 

    response_headers = [('Content-type', 'text/plain'), 
         ('Content-Length', str(len(output)))] 
    start_response(status, response_headers) 

    return [output] 

Per avere application presenti.

E dal documento di riferimento.

+0

Grazie! Ha senso. – hanleyhansen

+1

Nomefile app WSGICallableObject – arivero

Problemi correlati