如何在 AWS Elastic Beanstalk 上使用 Nginx、React、Webpack、Gunicorn、PostgreSQL、Django 和 DRF 部署应用程序?如何使用此应用程序处
Posted
技术标签:
【中文标题】如何在 AWS Elastic Beanstalk 上使用 Nginx、React、Webpack、Gunicorn、PostgreSQL、Django 和 DRF 部署应用程序?如何使用此应用程序处理静态文件?【英文标题】:How to deploy app with Nginx, React, Webpack, Gunicorn, PostgreSQL, Django & DRF on AWS Elastic Beanstalk? How to handle static files with this app? 【发布时间】:2020-04-18 03:27:12 【问题描述】:我是 AWS 环境的新手。我有几个关于 AWS 部署的问题。这里要记住的重要一点是,我使用的是AWS 的免费层。所以我对资源有限制。
问题 1: 我在本地服务器上开发了一个 Web 应用程序(使用带有 centos Linux 的 VM),它使用 React-s-s-r 作为前端,使用 Express 服务器。 React CSR 和 s-s-r 是使用 webpack 生成的。后端使用 Django 作为主要框架,使用 postgreSQL 作为数据库。前端和后端在 Django Rest Framework 的帮助下进行通信。 Gunicorn 用于运行后端服务器。我想使用 nginx 作为反向代理服务器。如何在 AWS Elastic Beanstalk 上部署此应用程序? Amazon S3 可以用来运行 React-s-s-r 前端吗?
问题 2: 此应用程序提供将通过后端上传的图像。使用这种应用程序处理图像和静态文件的正确方法是什么?图像应该由 nginx、react 还是 django 处理?我应该如何配置 Django 以便它在其模型中正确存储图像路径(使用 ImageField)? Amazon S3 在哪里适合?
问题 3: 此应用是否可以在免费套餐下与地区无关?
【问题讨论】:
【参考方案1】:第一个问题的答案:React可以部署在AWS S3上,如果你配置webpack生成静态文件(html + CSS + JS),或者使用NextJS生成静态文件正在构建中。
第二个问题的答案:要使用 AWS S3 存储统计信息,请使用django-storages
【讨论】:
以上是关于如何在 AWS Elastic Beanstalk 上使用 Nginx、React、Webpack、Gunicorn、PostgreSQL、Django 和 DRF 部署应用程序?如何使用此应用程序处的主要内容,如果未能解决你的问题,请参考以下文章
如何在 AWS Elastic Beanstalk 上修改 Nginx 配置
如何在 AWS Elastic Beanstalk 上设置 HTTPS
如何在 AWS Elastic Beanstalk 上设置 HTTPS
如何在 AWS Elastic Beanstalk 中更改数据库配置