uWSGI 不识别 --http 和 --wsgi-file 选项
uWSGI doesn't recognize --http nor --wsgi-file options
我正在尝试使用 nginx
、uwsgi
和 django
设置网络服务器。
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
)。
我正在尝试使用 nginx
、uwsgi
和 django
设置网络服务器。
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
)。