Python

正確啟動並執行 uWSGI

  • July 18, 2012

我剛剛開始使用 wsgi,並且正在嘗試啟動並執行一個簡單的 uwsgi 伺服器。我已經設置了一個 virtualenv 環境並啟動了它。在 lib 中,我有一個 hello.py 文件,其中包含以下內容:

def application(environ, start_response):
   status = '200 OK'
   output = 'Hello World!'

   response_headers = [('Content-type', 'text/plain'),
                       ('Content-Length', str(len(output)))]
   start_response(status, response_headers)

   return [output]

我正在執行:

uwsgi --http :8000 --wsgi-file lib/hello.py --add-header "X-test: hi"

啟動伺服器。

我的問題是伺服器沒有發送身體。當我 curl 到 localhost:8000 時,我可以看到 X-test 標頭,所以我肯定會點擊 uwsgi。此外,如果我將“200 OK”更改為其他內容,我也可以在 curl 中看到它。

我很確定我正確地遵循了教程(看起來很簡單),誰能發現我做錯了什麼?難道是我正在使用python3?我通過我的 virtualenv 中的 pip 安裝了 uwsgi,如果這很重要的話。

python3的WSGI不同,你的輸出必須是字節而不是字元串

引用自:https://serverfault.com/questions/408714