如何在 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 中更改数据库配置

如何在 AWS Elastic Beanstalk 中选择特定平台?

如何使用 Elastic beanstalk 和 Dockerrun.aws.json 正确部署到 AWS?