繁体   English   中英

AWS ALB + Django + Gunicorn +-Nginx吗?

[英]AWS ALB + Django + Gunicorn +- Nginx?

我正在AWS中构建一个环境来托管Django应用程序。 我试图弄清楚是否应该在构建过程中使用nginx。

我出于示例/比较目的,在下面列出了几种不同的环境。 所有环境都使用AWS ALB。

ENV 1

ALB->运行Django的dockercontainer

  • +使用内置的django网络服务器,静态文件有效
  • 内置的django网络服务器未用于生产

ENV 2

ALB->运行django / gunicorn的dockercontainer

  • +使用gunicorn(不是Django网络服务器)
  • -静态文件不起作用

ENV 3

ALB->运行django / gunicorn + nginx的dockercontainer

注意:我尚未测试此配置。

  • +使用gunicorn(不是Django网络服务器)
  • +使用nginx
  • 静态文件应该工作

我阅读了这篇 stackoverflow帖子,并了解了gunicorn与nginx的不同角色。

我的一位同事告诉我,ENV 2就是我所需要的,我应该能够用它提供静态文件,而且ALB提供了与NGINX类似的功能。 这个对吗?

需要澄清的是-“ ALB”代表应用程序负载平衡器,它与较早的Elastic Load Balancer区别在于可以基于URI路由流量。

但是,无论您指的是哪种负载均衡器,我相信您都需要使用nginx,因为AWS负载均衡器不提供任何文件服务功能。 如果您的静态文件具有一致的URI模式,则可以使用ALB来提供S3或CloudFront中的静态文件。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM