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

时间:2016-02-03 20:10:41

标签: python linux django nginx uwsgi

我尝试使用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上的localhost上看到我的网站:

python3 manage.py runserver 0.0.0.0:8000

然而,这不是:

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

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

1 个答案:

答案 0 :(得分:1)

从debian软件包安装的uWSGI没有任何内置插件,要使这些参数起作用,您需要:

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

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