2

我是一名 PHP 程序员,但我想学习 Python。我对如何实际执行脚本有点困惑。我在我的网络服务器根目录中创建了 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。

但是当我在浏览器中导航到脚本时,它只会打印完整的代码,就好像它没有解析它一样。非常感谢任何帮助,谢谢。

4

2 回答 2

4

我认为在 Apache 下使用mod_wsgi从 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 之上。快速入门安装配置指南值得一读。软件包可用于常见的 Linux 发行版。

如果您对替代方案感兴趣,您可能想查看Tornado,它是一种基于事件的服务器,具有不同的设计。

正如@cacahootie 下面提到的,您还应该研究 Python 的 Web 应用程序框架。这些使编写使用 WSGI 的应用程序变得更加容易。Django可能是最流行的,但 Python 还有许多其他选项。我个人偏爱非常轻量级的框架是Flask,但它不如 Django 全面。

于 2012-05-10T02:15:55.650 回答
0

我有点不同意布赖恩。对于在 Web 应用程序环境中学习 Python,CherryPy 是最简单的入门方法之一。它是一个 WSGI 框架,但是让事情变得如此简单我不知道你为什么要尝试直接实现一个 WSGI 应用程序。我知道 CGI 可能是一个更舒适的起点,但坦率地说 CherryPy(或其他一些更复杂的框架)让事情变得如此简单,而 WSGI 是部署这些应用程序的最佳方式。WSGI 可与 CGI 相媲美——它是许多框架可能实现的接口。

CherryPy 项目网站

Hello World(来自他们的主页):

import cherrypy
class HelloWorld(object):
    def index(self):
        return "Hello World!"
    index.exposed = True

cherrypy.quickstart(HelloWorld())
于 2012-05-10T04:47:57.397 回答