Ubuntu Vserver (Strato): lo script wsgi è mostrato come testo semplice


2

Ho testato la configurazione su una casella Gentoo locale, ma su Strato-vServer non funziona:

$ apache2 -M|grep wsgi
wsgi_module (shared)

# cat /etc/apache2/sites-enabled/000-default 
<VirtualHost *:80>

    DocumentRoot /var/www/vhosts/default/

    <Directory /var/www/vhosts/default/>
    Options Indexes FollowSymLinks MultiViews ExecCGI

    AddHandler cgi-script .cgi
    AddHandler wsgi-script .wsgi

    SetHandler wsgi-script
    Options ExecCGI

    AllowOverride None
    Order allow,deny
    allow from all
</Directory>

ScriptAlias /cgi-bin/ "/var/www/vhosts/default/cgi-bin/"
<Directory "/var/www/vhosts/default/cgi-bin/">
    AllowOverride None
    Options None
    Order allow,deny
    Allow from all
</Directory>

Lo script wsgi:

root@h1900160:/var/www/vhosts/default/cgi-bin# cat test.wsgi 
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]

Lo script viene visualizzato solo come testo normale. Registro errori dice questo:

[Fri May 13 12:54:02 2011] [info] mod_wsgi (pid=14311): Attach interpreter ''.

Risposte:


1

Non che risolva il tuo problema, ma dovresti avere la linea:

SetHandler wsgi-script

La linea:

AddHandler wsgi-script .wsgi

garantisce già che qualsiasi cosa con estensione .wsgi sia processata da mod_wsgi. L'aggiunta di SetHandler servirà solo a far sì che gli script .cgi non vengano più pubblicati come script CGI. Inoltre, non saresti più in grado di eseguire il server di file statici.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.