AWS弹性豆茎+Nginx+Gunicorn

Nhs*_*irk 7 django nginx amazon-web-services gunicorn python-3.4

我正在使用 AWS 上的资源创建 Django Web 应用程序。我是部署新手,在我的生产设置(Elastic Beanstalk 即基于 ELB)中,我想放弃 Django 开发 Web 服务器,而是使用 Nginx + Gunicorn。我一直在阅读有关它们以及 ELB 的内容。

如果我在 ELB 上部署 Django 应用程序,是否需要 Nginx + Gunicorn?由于 ELB 确实具有反向代理、自动缩放、负载平衡等功能。

感谢您的投入。

Jam*_*rke 4

部署 Django 时,推荐的部署方法之一是使用WSGI(请参阅部署 Django)。

AWS Elastic Beanstalk 也很好地支持这种部署 Django 的方法,他们甚至有Deploying a Django Application to Elastic Beanstalk

在较高层面上,您想要执行以下操作:

  1. 创建虚拟环境(使用virtualenv)以在开发时跟踪 python 依赖项
  2. 为 Elastic Beanstalk 配置您的项目。这包括将 virtualenv 冻结到requirements.txt文件,以及为 django 的 WSGI 配置 EB 扩展。
  3. 使用EB CLI初始化您的项目并创建环境。

在幕后,Elastic Beanstalk 将启动实例、弹性负载均衡器等,并将实例配置为接受 Apache 流量,然后使用 Apache 的 mod_wsgi处理Django 的流量。