正确启动并运行 uWSGI

正确启动并运行 uWSGI

我刚刚开始使用 wsgi,并尝试启动并运行一个简单的 uwsgi 服务器。我已经设置了一个虚拟环境并激活了它。在 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"

启动服务器。

我的问题是服务器没有对主体进行 sedning。当我 curl 到 localhost:8000 时,我可以看到 X-test 标头,因此我肯定是在命中 uwsgi。此外,如果我将“200 OK”更改为其他内容,我也可以在 curl 中看到它。

我确信我正确地遵循了本教程(它看起来非常简单),有人能发现我做错了什么吗?可能是因为我使用的是 python3?我在虚拟环境中通过 pip 安装了 uwsgi,如果这有关系的话。

答案1

python3 的 WSGI 有所不同,你的输出必须是字节而不是字符串

相关内容