使用 gunicorn 运行 django 应用程序有 3 种方法:
标准
gunicorn
+wsgi
(参考 django 文档)gunicorn project.wsgi:application
使用 gunicorn django 集成(参考gunicorn doc和django doc):
python manage.py run_gunicorn
使用
gunicorn_django
命令(参考gunicorn doc)gunicorn_django [OPTIONS] [SETTINGS_PATH]
Django 的文档建议使用 1.,它甚至没有被列为 Gunicorn 文档中的一个选项。
关于使用 gunicorn 运行 django 应用程序的最佳方式是否有任何最佳实践,这些不同解决方案的可预见的优点/缺点是什么?
看一眼gunicorn 的代码,看起来他们几乎都在做同样的事情:2. 似乎正在使用 django 的内部创建一个 wsgi 应用程序,3. 使用 2.
如果是这样的话,我什至不明白为什么不简单地使用“1”。一直以来,特别是因为wsgi.py
自 django 1.4 以来为您自动创建了一个文件;如果这是真的,也许应该建议对文档进行改进......
此外,使用 django 进行 gunicorn 设置的最佳实践会很棒。使用1.,在wsgi文件中设置一些默认值并避免额外设置是否有意义?
参考:
- 我应该使用 django-gunicorn 集成还是 wsgi?仅涉及选择 1. 和 3.,没有设置提示,答案没有给出任何理由
- 使用 gunicorn 和 nginx 部署 Django提供了一些更广泛的信息,但没有严格相关,也没有回答这个问题
- Django Gunicorn wsgi关于版本“4”,它正在启动
gunicorn -c configfile
并且配置文件将指向 django_settings 到 django - Django WSGI 和 Gunicorn只是有点令人困惑 :) 将 1. 和 3 混合在一起。当然
wsgi.py
只与 1 一起使用。