2013-03-26 56 views

回答

3

WSGI實際上不是在FastCGI的一個層,但對於編寫Python Web應用程序的規範,非常普通,它可以連接到許多Web服務器或適配器這反過來又可能給許多其他技術說話,包括 FastCGI的。但是,FastCGI本身(它是用於連接到長時間運行的進程的Web服務器的協議)在WSGI安裝中根本不需要參與,例如, Apache模塊,該模塊直接從Apache向您的Python應用程序公開WSGI,並且不需要您運行單獨的長時間運行的進程。

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'] 
+0

因此,使用WSGI協議,您可以使服務器使用FastCGI? – 2013-03-27 00:23:31

+1

對不起,我意識到我對這一點還不清楚。我編輯了我的答案。寫入WSGI本身並不能讓您連接到支持FastCGI的服務器,但您可以使用支持WSGI的服務器並向另一臺服務器說出FastCGI來完成此任務,例如在flup中發現的服務器:https:// pypi.python.org/pypi/flup – zigg 2013-03-27 00:48:38

+0

沒有修改,我認爲wsgi是一個使用fastcgi的協議(保持python進程運行並且不會在每次請求時運行它) – 2013-03-27 01:23:21