我是一名PHP程序员,但我想学习Python。我对如何实际执行脚本有点困惑。我在我的Web服务器根目录中创建了test.py,在我写的文件中:
#!/usr/bin/python
import jon.cgi as cgi
import jon.fcgi as fcgi
print "Content-type: text/html"
print "hello world"
我的服务器正在运行Litespeed,遵循以下教程:http://www.litespeedtech.com/support/wiki/doku.php?id=litespeed_wiki:python_fcgi我安装了Jon的CGI。
但是当我在浏览器中导航到脚本时,它只打印完整的代码,就好像它没有解析它一样。非常感谢任何帮助,谢谢。
答案 0 :(得分:4)
我认为使用mod_wsgi在Apache下使用WSGI可能最容易。
一个简单的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]
其他Python框架构建于WSGI之上。快速入门installation和configuration指南值得一读。软件包可用于常见的Linux发行版。
如果您对替代方案感兴趣,可能需要查看Tornado这是一个基于事件的服务器,它具有不同的设计。
正如@cacahootie在下面提到的,你还应该研究Python的Web应用程序框架。这使得编写利用WSGI的应用程序变得更加容易。 Django可能是最受欢迎的,但Python中有许多other options。我个人对一个非常轻的框架的偏好是Flask,但它没有Django那么全面。
答案 1 :(得分:0)
我不同意Brian的意见。为了在Web应用程序环境中学习Python,CherryPy是最简单的方法之一。它是一个WSGI框架,但是让事情变得如此简单我不知道你为什么要尝试直接实现WSGI应用程序。我知道CGI可能是一个更舒适的起点,但坦率地说,CherryPy(或其他一些更复杂的框架)使事情变得如此简单,而WSGI是部署这些应用程序的最佳方式。 WSGI与CGI相当 - 它是许多框架可能实现的接口。
Hello World(来自他们的主页):
import cherrypy
class HelloWorld(object):
def index(self):
return "Hello World!"
index.exposed = True
cherrypy.quickstart(HelloWorld())