Ubuntu Vserver (Strato): o script wsgi é mostrado como texto simples

2

Eu testei a configuração em uma caixa local do Gentoo, mas no meu Strato-vServer ela não funciona:

$ 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>

O 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]

O script é mostrado apenas como texto simples. O log de erros diz isto:

[Fri May 13 12:54:02 2011] [info] mod_wsgi (pid=14311): Attach interpreter ''.
    
por Tobias Kaminsky 13.05.2011 / 13:00

1 resposta

1

Não que isso resolva seu problema, mas você deve ter a linha:

SetHandler wsgi-script

A linha:

AddHandler wsgi-script .wsgi

já garante que qualquer coisa com extensão .wsgi seja processada por mod_wsgi. Adicionar SetHandler servirá apenas para fazer com que você scripts .cgi não sejam mais exibidos como scripts CGI. Além disso, você não seria capaz de armazenar mais arquivos estáticos no servidor.

    
por 26.05.2011 / 12:41