我已经阅读了很多有关如何在容器化的Docker环境中部署Django的博客文章(例如this one)。
他们都在runserver
中使用docker-compose.yml
命令。
甚至Docker documentation does this。
这让我感到惊讶,因为使用Django Web服务器是not recommended for production!
推荐的 是pointing the webserver to wsgi.py。
但是,我在Django和Docker上找不到的文章都没有解释为什么他们使用runserver
而不是将apache或nginx指向wsgi.py
。
为什么所有这些文章都使用内置的Django开发网络服务器来处理请求,而不使用像apache或nginx这样功能强大的网络服务器?
在开发中使用容器以保持该环境尽可能接近生产的目的不是吗?那为什么要建立一个不准备生产的环境?
答案 0 :(得分:1)
包括您提供的https://salesforce.stackexchange.com/questions/268188/is-it-possible-to-retrieve-a-signed-pdf-from-docusign-and-then-put-it-in-the-not/268196#268196在内的大多数指南的目的是为您提供ABC
指南,以便通过docker快速将django应用容器化。
当您决定阅读这些指南时,您肯定被认为是经验丰富的django开发人员,但是是新的docker用户。因此,本文的重点不会告诉您如何使用生产服务器(如uwsgi,gunicorn)来管理django应用程序,因为它假定您已熟悉。
作为新的docker用户,它将更加努力地告诉您如何使用django启动项目在容器中对其进行docker化。然后,最简单的,带有django http服务器开发的类世界的项目将是最合适的选择。
但是,您仍然需要使用uwsgi, gunicorn
等来部署应用,例如this