目标:生产django网站部署的一组docker容器.
我在这个过程中挂断的是,通常nginx直接提供静态文件……基于我对使用docker的良好架构的理解,你将有一个容器用于你的wsgi服务器(可能是gunicorn),一个单独的nginx容器和一个上游服务器配置指向你的gunicorn容器. nginx容器可以在多个gunicorn容器之间进行负载平衡.
但这意味着我必须在nginx容器中安装我的django应用程序的静态文件,这似乎是不好的做法,因为它的主要目标是真正的负载平衡
有三个容器更好:nginx,gunicorn和静态文件的专用静态服务器(可能是nginx或lighthttpd)?
参考提供静态文件,您的选项取决于您的应用程序的功能.有一个非常漂亮的工具叫做dj-static
,它可以通过添加非常少的代码来帮助你提供静态文件.
文档非常简单,您所要做的就是遵循these steps.