当前位置:  开发笔记 > 编程语言 > 正文

为什么要避免使用LAMP托管的Python CGI?

如何解决《为什么要避免使用LAMP托管的PythonCGI?》经验,为你挑选了2个好方法。

我已经使用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文件之外看一些完全不同的范例吗?

有关

Python中Web编程的不同方法的优缺点

什么是一个很好的轻量级Python MVC框架?(尤其是@Kevin Dangoor的回答)

如何在不依赖框架的情况下使用python进行Web开发?

Python Web框架 - 非App框架或CMS框架

Python网络编程

vartec.. 11

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

至于Python,你有几个选择:

mod_wsgi

mod_python

FastCGI的

独立的Python Web服务器(内置,CherryPy,Tracd)

非标准端口和mod_proxyApache中的独立Python Web服务器

对于共享主机服务用户 - 这可能意味着本帖子的大多数读者 - 这种约束并不真正相关,因为这种共享主机配置总是使用UID/GID访问控制来分离各个用户帐户,因此总是产生一个单独的进程*任何*脚本URI - PHP,Python无论如何. (2认同)


bobince.. 5

为什么使用CGI不是使用Python的最佳方式?

我会坚持CGI一点点.这对开发环境有好处.

接线简单,您不必担心模块重新加载问题.自然表现很糟糕,但对于开发者你并不在意.

当然你应该直接写入WSGI接口而不是CGI.然后,您可以使用以下方式通过CGI进

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

并且使用相同的应用程序对象通过mod_wsgi在生产环境中的其他任何WSGI服务器进行部署,其中速度很重要(以及您希望它尽可能接近生产的测试环境).



1> vartec..:

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

至于Python,你有几个选择:

mod_wsgi

mod_python

FastCGI的

独立的Python Web服务器(内置,CherryPy,Tracd)

非标准端口和mod_proxyApache中的独立Python Web服务器


对于共享主机服务用户 - 这可能意味着本帖子的大多数读者 - 这种约束并不真正相关,因为这种共享主机配置总是使用UID/GID访问控制来分离各个用户帐户,因此总是产生一个单独的进程*任何*脚本URI - PHP,Python无论如何.

2> bobince..:

为什么使用CGI不是使用Python的最佳方式?

我会坚持CGI一点点.这对开发环境有好处.

接线简单,您不必担心模块重新加载问题.自然表现很糟糕,但对于开发者你并不在意.

当然你应该直接写入WSGI接口而不是CGI.然后,您可以使用以下方式通过CGI进

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

并且使用相同的应用程序对象通过mod_wsgi在生产环境中的其他任何WSGI服务器进行部署,其中速度很重要(以及您希望它尽可能接近生产的测试环境).

推荐阅读
李桂平2402851397
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有