oro*_*aki 8 python mod-wsgi wsgi
首先:
什么我不明白是怎么每个不同的"其他"方式的工作相比,像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