我已经关注Flask网站上的instructions以使用WSGI进行部署。
我知道我的apache2服务器启用了wsgi
$ sudo apache2 -M
Loaded Modules:
core_module (static)
...
wsgi_module (shared)
Syntax OK
但是当我转到站点地址时,它只显示了WSGI脚本的内容。我希望它能够执行脚本。
例如,modwsgi wiki有几个test scripts可以运行来检查你的配置,但当我修改我的wsgi脚本以包含其中一个测试脚本并将我的浏览器指向脚本时,我只是看到我浏览器中的源代码。
我看到apache2日志文件中中有一个错误。我做错了什么?
我的apache2配置看起来像这样
1 <VirtualHost *>
2 ServerName example.com
3
4 WSGIDaemonProcess appname user=www-data group=www-data threads=5
5 WSGIScriptAlias /appname /var/www/appname/appname.wsgi
6
7 <Directory /var/www/appname>
8 WSGIScriptReloading On
9 WSGIProcessGroup appname
10 WSGIApplicationGroup %{GLOBAL}
11 Order deny,allow
12 Allow from all
13 </Directory>
14 </VirtualHost>
/var/www/appname/appname.wsgi看起来像这样
import sys
def application(environ, start_response):
status = '200 OK'
output = ''
output += 'sys.version = %s\n' % repr(sys.version)
output += 'sys.prefix = %s\n' % repr(sys.prefix)
response_headers = [('Content-type', 'text/plain'),
('Content-Length', str(len(output)))]
start_response(status, response_headers)
return [output]