为什么不使用带有LAMP宿主的Python的CGI?

2024-06-01 11:42:33 发布

您现在位置:Python中文网/ 问答频道 /正文

我已经使用PHP很多年了。最近我在论坛上看到很多帖子,说PHP已经过时了,现代编程语言更容易、更安全等等

所以,我决定开始学习Python。因为我习惯使用PHP,所以我刚开始通过上传一个.htaccess文件来构建页面,该文件包含:

addtype text/html py
addhandler cgi-script .py

然后,我的示例页面看起来像:

#!/usr/bin/python
print "content-type: text/html\n\n"
print "html tags, more stuff, etc."

这很管用。但是,我在一篇博文中遇到一条评论,说CGI不是使用Python的最佳方式。当然,它没有提到什么是最好的方式。

为什么使用CGI不是使用Python的最佳方法?另一种选择是什么?

有没有其他方式来建立一个简单的Python站点?在.htaccess和.py文件之外,我是否应该看到一些完全不同的范例?

相关


Tags: 文件textpywebhtml方式framework页面
3条回答

经典的CGI根本不是使用任何东西的最佳方式。对于经典的CGI服务器,必须为每个请求生成一个新进程。

至于Python,您几乎没有其他选择:

Why is it that using CGI is not the best way to use Python?

我会支持CGI一点。它有利于开发环境。

连接起来很简单,不必担心模块重新加载的问题。当然,性能很差,但对dev来说,你不在乎。

当然,您应该真正编写WSGI接口,而不是直接编写CGI。然后,可以使用以下工具通过CGI进行部署:

wsgiref.handlers.CGIHandler().run(application)

并使用同一个应用程序对象通过mod_wsgi部署其他任何您喜欢的wsgi服务器,在生产环境中,速度很重要(在测试环境中,您希望它尽可能接近生产环境)。

mod_wsgi是正确的选择。它在几乎所有方面都优于CGI。

相关问题 更多 >