uWSGI 无法识别 --http 或 --wsgi-file 选项



我正在尝试设置一个带有nginxuwsgidjango的网络服务器。 nginx工作,它以/srv的方式提供文件,就像我打算的那样。但是我无法uwsgi正常工作。我最大的问题是我使用了本教程,而他们似乎没有使用我使用的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 插件
  • 用于--module(或任何WSGI相关)参数的Python插件

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

最新更新