有人可以给我一个关于幕后WSGI细节的高级技术概述,而不是其他Web界面与Python的合作吗?

前端之家收集整理的这篇文章主要介绍了有人可以给我一个关于幕后WSGI细节的高级技术概述,而不是其他Web界面与Python的合作吗?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
首先:

>我了解WSGI是什么以及如何使用它
>我理解“其他”方法(Apache mod-python,fcgi等)是什么,以及如何使用它们
>我理解他们的实际差异

我不明白的是,各种“其他”方法在幕后与UWSGI相比如何运作.您的服务器(Nginx等)是否将请求路由到您的WSGI应用程序,UWSGI为每个路由到它的请求创建一个新的Python解释器?与其他更传统/猴子修补的方法有多少不同的是WSGI(除了WSGI提供的不同,更简单的Python接口)?我失踪了什么灯泡?

解决方法

除了CGI之外,几乎从未根据请求创建新的Python解释器.读:

http://blog.dscpl.com.au/2009/03/python-interpreter-is-not-created-for.html

这是关于mod_python编写的,但也适用于mod_wsgi和任何使用持久进程的WSGI托管机制.

另请阅读:

http://www.python.org/dev/peps/pep-0333/#environ-variables

在那里你会发现描述了’wsgi.run_once’变量.这用于在使用托管机制时向WSGI应用程序指示,该托管机制将看到仅处理一个请求然后退出的进程,即CGI.因此,编写一个测试hello world应用程序,该应用程序将转储出WSGI环境并查看它为您所使用的内容设置的内容.

还要注意’wsgi.multiprocess’和’wsgi.multithread’变量.它们告诉您是否正在使用多进程服务器,以便您的应用程序有多个实例同时处理请求. ‘wsgi.multithread’变量告诉您​​进程本身是否在同一进程中的并发线程中处理多个请求.

有关与Apache嵌入式系统相关的多进程和多线程模型(如mod_python和mod_wsgi以及mod_wsgi守护程序模式)的更多信息,请参阅:

http://code.google.com/p/modwsgi/wiki/ProcessesAndThreading

猜你在找的HTML相关文章