【发布时间】:2016-05-13 05:19:52
【问题描述】:
我正在尝试使用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?
更新:
这很好,即我可以在 localhost 的 8000 端口上看到我的网站:
python3 manage.py runserver 0.0.0.0:8000
但事实并非如此:
uwsgi --http :8000 --module django_test.wsgi
它会抱怨,它不知道长选项--http 以及长选项--module。这一切似乎都归结为 uwsgi,它在我的机器上的行为与其他地方不同。
【问题讨论】:
-
这不是您问题的真正答案,但我个人会推荐 gunicorn 而不是 uwsgi。 1200 个(是的,我数过)uwsgi 命令行参数只是一团糟
-
已经用
gunicorn运行了,哇,速度快得令人难以置信。谢谢你的推荐!但是,如果有人知道这个谜团的答案,我仍然想听听。 -
@Wolph uWSGI 与 gunicorn 完全不同。 uWSGI 不仅是一个 wsgi 服务器,它还可以做更多事情(psgi、php、cgi、路由、提供静态文件等等)。它还包含管理正在运行的 uWSGI 实例,这就是它包含这么多选项的原因。但是当作为普通 wsgi 服务器使用时,您将需要其中的一小部分。
-
@GwynBleidD:是的,但如果他运行的是 Django,而不是常规的 Python 安装,在这种情况下,Gunicorn 绝对是一个更简单的选择,而且效果很好:)
标签: python linux django nginx uwsgi