我已经使用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_proxy
Apache中的独立Python Web服务器
对于共享主机服务用户 - 这可能意味着本帖子的大多数读者 - 这种约束并不真正相关,因为这种共享主机配置总是使用UID/GID访问控制来分离各个用户帐户,因此总是产生一个单独的进程*任何*脚本URI - PHP,Python无论如何. (2认同)
bobince.. 5
为什么使用CGI不是使用Python的最佳方式?
我会坚持CGI一点点.这对开发环境有好处.
接线简单,您不必担心模块重新加载问题.自然表现很糟糕,但对于开发者你并不在意.
当然你应该直接写入WSGI接口而不是CGI.然后,您可以使用以下方式通过CGI进
wsgiref.handlers.CGIHandler().run(application)
并且使用相同的应用程序对象通过mod_wsgi在生产环境中的其他任何WSGI服务器进行部署,其中速度很重要(以及您希望它尽可能接近生产的测试环境).
经典CGI根本不是使用任何东西的最佳方式.使用经典的CGI服务器必须为每个请求生成一个新进程.
至于Python,你有几个选择:
mod_wsgi
mod_python
FastCGI的
独立的Python Web服务器(内置,CherryPy,Tracd)
非标准端口和mod_proxy
Apache中的独立Python Web服务器
为什么使用CGI不是使用Python的最佳方式?
我会坚持CGI一点点.这对开发环境有好处.
接线简单,您不必担心模块重新加载问题.自然表现很糟糕,但对于开发者你并不在意.
当然你应该直接写入WSGI接口而不是CGI.然后,您可以使用以下方式通过CGI进
wsgiref.handlers.CGIHandler().run(application)
并且使用相同的应用程序对象通过mod_wsgi在生产环境中的其他任何WSGI服务器进行部署,其中速度很重要(以及您希望它尽可能接近生产的测试环境).