首页 > 解决方案 > 如何在 AWS Elastic Beanstalk 上使用 Nginx、React、Webpack、Gunicorn、PostgreSQL、Django 和 DRF 部署应用程序?如何使用此应用程序处理静态文件?

问题描述

我是 AWS 环境的新手。我有几个关于 AWS 部署的问题。这里要记住的重要一点是,我正在使用AWS 的免费层。所以我对资源有限制。

问题 1: 我在本地服务器上开发了一个 Web 应用程序(使用带有 centos Linux 的 VM),它使用React-SSR作为前端使用Express服务器。React CSR 和 SSR 是使用webpack生成的。后端使用Django作为主要框架,使用postgreSQL作为数据库。前端和后端在 Django Rest Framework 的帮助下进行通信。Gunicorn用于运行后端服务器。我想使用Nginx作为反向代理服务器。如何在AWS Elastic Beanstalk上部署此应用程序?Amazon S3可以用于运行 React-SSR 前端吗?

问题2: 这个应用程序提供将通过后端上传的图像。使用这种应用程序处理图像和静态文件的正确方法是什么?图像应该由 nginx、react 还是 django 处理?我应该如何配置 Django 以便它在其模型中正确存储图像路径(使用 ImageField)?Amazon S3 在哪里适合?

问题 3: 这个应用程序可以在免费套餐下与地区无关吗?

标签: djangoreactjsamazon-web-servicesamazon-s3amazon-elastic-beanstalk

解决方案


第一个问题的答案:如果你配置 webpack 生成静态文件(HTML + CSS + JS),或者使用NextJS在构建时生成静态文件,React 可以部署在 AWS S3上。

第二个问题的答案:To use AWS S3 for storage statiс use django- storages


推荐阅读