2024-04-20 02:53:33 发布
网友
我认为在过去,python脚本会运行CGI,这会为每个进程创建一个新线程。在
我是个新手,所以我不太确定,我们有什么选择?在
python使用的web服务器管道是否比php更有效?在
我建议你吃樱桃酱(http://www.cherrypy.org/)。它使用起来非常方便,拥有制作web服务所需的一切,但仍然非常简单(没有巨型框架)。使用它的最有效的方法是在本地主机上作为自包含的服务器运行它,并通过代理语句将其置于Apache之后,并使Apache本身为静态文件提供服务。在
这通常比CGI和mod python之类的解决方案具有更好的性能,因为运行web服务的python进程独立于主web服务器运行,因此它可以缓存内容并轻松地重用资源(如DB句柄)。在
此外,您还可以分别调整Apache和web应用程序的工作线程数,从而获得更好的可伸缩性。在
如果您愿意,您仍然可以使用CGI,但是现在通常的方法是在Python端使用WSGI,例如在Apache上通过mod_wsgi或者在其他web服务器上通过网桥连接到{}。至少对于mod_wsgi,我知道这种方法没有效率低下。在
mod_wsgi
顺便说一句,你对CGI(“为每个进程创建一个新线程”)的描述是不准确的:它所做的是为每个查询的服务创建一个新进程(该进程通常需要打开一个数据库连接,导入所有需要的模块等),这可能会使它变慢,即使在分叉进程本身相当快的平台上,例如所有Unix变体)。在
我建议你用Djangohttp://www.djangoproject.com。它使用起来非常方便,拥有制作web服务所需的一切。使用它的最有效的方法是通过Apache的mod_wsgi运行它,并使Apache本身服务于静态文件。在
我建议你吃樱桃酱(http://www.cherrypy.org/)。它使用起来非常方便,拥有制作web服务所需的一切,但仍然非常简单(没有巨型框架)。使用它的最有效的方法是在本地主机上作为自包含的服务器运行它,并通过代理语句将其置于Apache之后,并使Apache本身为静态文件提供服务。在
这通常比CGI和mod python之类的解决方案具有更好的性能,因为运行web服务的python进程独立于主web服务器运行,因此它可以缓存内容并轻松地重用资源(如DB句柄)。在
此外,您还可以分别调整Apache和web应用程序的工作线程数,从而获得更好的可伸缩性。在
如果您愿意,您仍然可以使用CGI,但是现在通常的方法是在Python端使用WSGI,例如在Apache上通过}。至少对于
mod_wsgi
或者在其他web服务器上通过网桥连接到{mod_wsgi
,我知道这种方法没有效率低下。在顺便说一句,你对CGI(“为每个进程创建一个新线程”)的描述是不准确的:它所做的是为每个查询的服务创建一个新进程(该进程通常需要打开一个数据库连接,导入所有需要的模块等),这可能会使它变慢,即使在分叉进程本身相当快的平台上,例如所有Unix变体)。在
我建议你用Djangohttp://www.djangoproject.com。它使用起来非常方便,拥有制作web服务所需的一切。使用它的最有效的方法是通过Apache的mod_wsgi运行它,并使Apache本身服务于静态文件。在
这通常比CGI和mod python之类的解决方案具有更好的性能,因为运行web服务的python进程独立于主web服务器运行,因此它可以缓存内容并轻松地重用资源(如DB句柄)。在
此外,您还可以分别调整Apache和web应用程序的工作线程数,从而获得更好的可伸缩性。在
相关问题 更多 >
编程相关推荐