>我了解WSGI是什么以及如何使用它
>我理解“其他”方法(Apache mod-python,fcgi等)是什么,以及如何使用它们
>我理解他们的实际差异
我不明白的是,各种“其他”方法在幕后与UWSGI相比如何运作.您的服务器(Nginx等)是否将请求路由到您的WSGI应用程序,UWSGI为每个路由到它的请求创建一个新的Python解释器?与其他更传统/猴子修补的方法有多少不同的是WSGI(除了WSGI提供的不同,更简单的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守护程序模式)的更多信息,请参阅: