uWSGI 作为 HTTP 服务器:在 config.ini 选项中称为 `http-socket`,而不是 `http`

uWSGI as HTTP server: in config.ini option is called `http-socket`, not `http`

我正在尝试将 uWSGI 用作独立的 http 服务器,而不是 uwsgi 服务器。

这是我的配置文件 mysite.ini:

[uwsgi]
chdir = /srv/workflows
module = workflows.wsgi:application
plugin = python

# We can receive connections either via http or from frontend via uwsgi socket

# http:
http = 0.0.0.0:8000

# uwsgi:
#socket = 0.0.0.0:8000
#chmod-socket = 664

vacuum = true
master = true
need-app = true
processes = 10
harakiri  = 20
max-requests = 5000

因此,我使用了 http 选项并注释掉了 socketchmod-socket 选项。

作为对 uWSGI 诅咒的回应:

uWSGI: --s/--socket option is missing and stdin is not a socket.

我理解的对吗,如果我指定socket选项,uWSGI期望连接实现WSGI协议?如果我指定 http 选项,它期望连接为 http,在这种情况下我不应该指定 socket 选项。

尝试使用 http-socket 而不是 http

对我来说,HTTP 比 TCP 连接的套接字工作得更好

示例:http = 127.0.0.1:8080

如果您想在网络中使用 http,官方文档建议使用 http 作为 public 服务器,在 Nginx 或 Apache 之后使用 http-socket 作为网络服务器。

https://uwsgi-docs.readthedocs.io/en/latest/ThingsToKnow.html