这是我到目前为止所理解的。
PHP-FPM 和 WSGI 是 FastCGI 的层吗?
那么说 WSGI 是 Python 的 FPM 是否正确?
WSGI 实际上并不是 FastCGI 上的一个层,而是一种用于编写 Python Web 应用程序的规范,该规范足够通用,可以附加到许多 Web 服务器或适配器,而这些服务器或适配器又可以与许多其他技术(包括FastCGI)对话。但是 FastCGI 本身,它是一个 Web 服务器连接到一个长时间运行的进程的协议,根本不需要参与 WSGI 安装——例如mod_wsgi
Apache 模块,它直接从 Apache 将 WSGI 暴露给你的 Python 应用程序,并且不要求您运行一个单独的长时间运行的进程。
WSGI 在PEP 333中定义。取自该规范的一个简单应用程序如下所示:
def simple_app(environ, start_response):
"""Simplest possible application object"""
status = '200 OK'
response_headers = [('Content-type', 'text/plain')]
start_response(status, response_headers)
return ['Hello world!\n']