我一直尝试安装 mod_wsgl 和 django,但没有成功。
我正在考虑一步一步来。
抛开 Django,我如何确保已正确安装 mod_wsgl,以便我的 Python 脚本可以从网站运行
然后我会考虑 django
我只想使用 python 在浏览器中显示 hello
我应该将 hello.py 放在哪里以及如何检查 mod_wsgl 是否已正确安装
答案1
虚拟主机配置:
<Directory /path/to/webroot/>
Options +ExecCGI
AddHandler wsgi-script .wsgi
</Directory>
测试.wsgi
def application(environ, start_response):
start_response('200 OK',[('Content-type','text/html')])
return ['<html><body>Hello World!</body></html>']
如果未设置 +ExecCGI,您将获得:
Forbidden
You don't have permission to access /test.wsgi on this server.
一旦您配置了 .wsgi 并使其正常工作,您可能需要使用此页面中的 Django .wsgi 脚本:
http://blog.dscpl.com.au/2010/03/improved-wsgi-script-for-use-with.html
我不知道 Django 的文档是否根据 Graham Dumpleton 的工作进行了修改。
答案2
从http://code.google.com/p/modwsgi/wiki/DebuggingTechniques
def application(environ, start_response):
status = '200 OK'
output = 'Hello World!'
print >> environ['wsgi.errors'], "application debug #1"
response_headers = [('Content-type', 'text/plain'),
('Content-Length', str(len(output)))]
start_response(status, response_headers)
print >> environ['wsgi.errors'], "application debug #2"
return [output]
答案3
阅读 mod_wsgi 网站上的 mod_wsgi 文档:
http://code.google.com/p/modwsgi/wiki/QuickConfigurationGuide
另请阅读:
http://code.google.com/p/modwsgi/wiki/WhereToGetHelp
它会告诉您哪里是获取有关 mod_wsgi 设置问题的更好帮助的地方。
答案4
抱歉,我与 Graham Dumpleton 的观点相矛盾,但我测试了它,没有 +ExecCGI,我得到了上面发布的确切错误。我使用新安装的 apache VM 测试了我的解决方案,以确保我发布的解决方案有效。
我本来想将此作为评论发布,但由于某种原因,我的声誉已被提前删除。