Python
正確啟動並執行 uWSGI
我剛剛開始使用 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不同,你的輸出必須是字節而不是字元串