uWSGI 不识别 --http 和 --wsgi-file 选项

uWSGI doesn't recognize --http nor --wsgi-file options

我正在尝试使用 nginxuwsgidjango 设置网络服务器。 nginx 有效,它提供 /srv 中的文件,就像我打算的那样。但是我无法让 uwsgi 正常工作。我最大的问题是我使用了 this tutorial 而他们似乎没有使用我使用的 uwsgi 版本。

他们一度调用 uwsgi --http :8000 --wsgi-file test.py,但我的 uwsgi 既没有 --http 长选项,也没有 --wsgi-file 长选项。 uwsgi --version 打印 2.0.7-debian.

我可以叫什么来代替 --wsgi-file

更新:

这工作正常,即我可以在端口 8000 上的本地主机上看到我的网站:

python3 manage.py runserver 0.0.0.0:8000

然而这不是:

uwsgi --http :8000 --module django_test.wsgi

它会抱怨,它不知道长选项 --http 以及长选项 --module。这一切似乎都归结为 uwsgi,它在我的机器上的表现与其他地方不同。

从 debian 软件包安装的 uWSGI 没有任何内置插件,要使该参数正常工作,您需要:

  • --http 参数的 http 插件
  • python --module(或任何 wsgi 相关)参数的插件

您可以通过两种方式解决此问题:安装所有必需的插件(uwsgi-plugins-all 软件包将在 debian 上安装所有可用的插件)并显式加载它们(--plugin http--plugin python)或通过用功能齐全的 uWSGI 替换 uWSGI(sudo pip install uwsgi 会这样做)。第二种解决方案会将你的 uWSGI 绑定到某个 python 版本,对于第一种,你可以加载另一个 python 插件(例如 python3)。