Я пытаюсь запустить тестовое приложение 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 для других веб-сайтов, которые работают нормально.
В браузере я пробовал http: // address/wsgi, он предоставляет каталог, а http: //address/wsgi/app.wsgi поставляется с исходным кодом. Что вызывает это? –
Я не знаю, но вы не должны иметь этот DocumentRoot или весь этот раздел каталога: они могут мешать, вы должны удалить их. –
Я удалил DocumentRoot/var/www/wsgi из настроек виртуального хоста. Но до сих пор не повезло. –