2014-09-30 2 views
0

Я пытаюсь запустить тестовое приложение wsgi в apache 2.2.22 на ubuntu 12.04 LTS. В одном и том же Apache есть два других веб-сайта php.Тест-образец WSGI не работает в apache2.2.22

У меня есть следующая папка app.wsgi in/var/www/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] 

Однако, когда я открываю ссылку в браузере, она открывает каталог в браузере. Когда я попытался открыть app.wsgi, он показывает исходный файл как есть. Он не выполняет код через WSGI.

У меня установлен libapache2-mod-wsgi. Ниже приведены настройки apache для этого виртуального хоста - wsgi.conf на/etc/apache2/sites-available.

<VirtualHost *:80> 

    ServerName xyz 
    DocumentRoot /var/www/wsgi 

    <Directory /var/www/wsgi> 
     Options Indexes FollowSymLinks MultiViews ExecCGI 

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

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

    WSGIScriptAlias /wsgi /var/www/wsgi/app.wsgi 
    LogLevel info 
    ErrorLog "/var/www/wsgi/error.log" 
    CustomLog "/var/www/wsgi/access.log" combined 


</VirtualHost> 

Помогите мне устранить эту проблему. Я выполнил a2dissite default. Я выполнил a2ensite для других веб-сайтов, которые работают нормально.

ответ

0

Почему вы попробовали «открытие app.wsgi»? Ваш WSGIScriptAlias ​​установлен в \wsgi, так что это адрес, на который вы должны пойти.

+0

В браузере я пробовал http: // address/wsgi, он предоставляет каталог, а http: //address/wsgi/app.wsgi поставляется с исходным кодом. Что вызывает это? –

+0

Я не знаю, но вы не должны иметь этот DocumentRoot или весь этот раздел каталога: они могут мешать, вы должны удалить их. –

+0

Я удалил DocumentRoot/var/www/wsgi из настроек виртуального хоста. Но до сих пор не повезло. –

Смежные вопросы