我正在为我的EC2实例安装django,
但是在我想做这个简单的测试之前:我用web命令行工具在实例中创建了一个文件
hello.py:
#!/usr/bin/python2.6
print "Content-Type: text/html"
print
print """\
<html>
<body>
<h2>Hello World!</h2>
</body>
</html>
"""并将权限更改为执行,
但当我转到我的页面
http://ec2-107-20-20-19.compute-1.amazonaws.com/hole.py我看到的与代码相同,而不是实际的HTML,
但如果我在其他服务器上这样做,我实际上会收到Hello World!消息
那么,为了能够看到EC2文件,我在python实例中遗漏了什么呢?
cgi文件夹在哪里?如何在我的根文件夹中创建?
谢谢!
发布于 2012-04-05 20:53:44
您应该将mod_wsgi与Apache 2或Gunicorn或uWSGI与Nginx (或其他web服务器)一起使用来为Python web应用程序提供服务。简单地将一个.py文件放在web服务器的文档根目录中并不能达到您的目的,因为web服务器不知道它是一个脚本,也不知道如何执行它(除非您对CGI进行了适当的配置)。
与CGI相比,WSGI有许多优点:您的应用程序代码只需加载一次即可重用,而不是为每次web请求重新加载;它可以作为与web服务器不同的用户运行,有助于避免安全问题;它拥有大量Python代码和框架(包括Django)的框架支持;等等。
有关为WSGI部署配置Django应用程序的更多信息,请参阅the Django deployment docs。
https://stackoverflow.com/questions/10028707
复制相似问题