我们在生产中使用gunicorn_django部署了一个应用程序。我注意到它不再被推荐了。我想知道为什么不推荐它,以及我们是否需要迁移到更新的方式。
来自https://docs.djangoproject.com/en/dev/howto/deployment/wsgi/gunicorn/
如果您运行Django 1.4或更新版本,强烈建议您只需运行 使用gunicorn命令使用WSGI接口的应用程序。
答案 0 :(得分:14)
gunicorn_django
,wsgi.py
的基本部分已集成在Django本身中。
从Django 1.4开始,你的项目已经有了一个
wsgi.py
,它可以用于任何一个wsgi服务器(其中有很多,gunicorn只有一个)。基本上,
gunicorn
的旧Django集成只是为了方便您启动和运行,但不再需要它,因为所有Django项目现在都有wsgi.py
。
<强>更新强>
首先,在Gunicorn 18.0 gunicorn_django
became deprecated。
其次,自从第一次写这个答案以来,我个人遇到了晦涩难懂的错误
特定于gunicorn_django
并结合--settings
命令行参数(gunicorn
命令和./manage.py runserver
工作正常)。
即,模糊的导入错误 application.some_model: 'field' has a relation with model another_application.AnotherModel, which has either not been installed or is abstract.
所以,不,我不建议您在新项目中使用gunicorn_django
。