我正在AWS中构建一个环境来托管django应用程序。我试图弄清楚我是否应该使用nginx作为构建的一部分。
我列出了以下几个不同的环境,例如/比较目的。所有环境都使用AWS ALB。
ENV 1
ALB - > dockercontainer运行django
ENV 2
ALB - > dockercontainer运行django / gunicorn
ENV 3
ALB - > dockercontainer运行django / gunicorn + nginx
注意:我还没有测试过这个配置。
我阅读了this stackoverflow帖子,了解gunicorn与nginx的不同角色。
我的同事告诉我,ENV 2是我所需要的,我应该能够用它提供静态文件,ALB提供与NGINX类似的功能。它是否正确?
答案 0 :(得分:0)
只是为了澄清 - " ALB"代表Application Load Balancer,它与旧的Elastic Load Balancer不同,可以根据URI路由流量。
但是,无论您指的是哪个负载均衡器,我相信您都需要nginx,因为AWS负载均衡器不提供任何文件服务功能。如果静态文件具有一致的URI模式,则可以使用ALB从S3或CloudFront提供静态文件。