0

我是部署网站的新手。我用 Django 后端和 mysql 数据库构建了一个 React 前端。我将其 dockerized 并购买了一个域。现在我想把它投入生产,但选择似乎无穷无尽。

我想使用 AWS Lightsail,但我不确定是选择容器还是实例,有什么区别,容器的价格是其两倍,但你能从这笔钱中得到什么?

另外,是否可以在 Lightsail 实例或容器中运行 Mysql 数据库,还是需要单独购买数据库?

如果有人可以向我解释这一点,我将不胜感激!

4

1 回答 1

0

是的,选择是无穷无尽的。考虑到您想要使用 AWS Lightsail 并且您的后端和前端服务已容器化。

您应该有五个使用 docker 运行的容器 -

  1. Nginx 容器
  2. 证书机器人容器
  3. Django 后端容器
  4. 反应前端容器
  5. MySQL 数据库容器(确保已安装卷以保存数据)

Nginx 将用作负载均衡器,您可以使用 Let's encrypt 并且 Certbot 将生成 SSL 证书,您将使用这些证书通过 Nginx 作为负载均衡器公开您的服务。

Nginx 将在端口 80 上运行,您必须将光帆的 IP 地址放入域的 DNS 配置中。因此,一旦有流量进入您的实例,(您需要为您的前端服务编写一个 Nginx conf)。然后Nginx会转发给你的前端服务,前端服务使用Django后端,后端使用Mysql数据库。

将所有服务放在具有不同端口的同一个 docker 网络中。使用 docker-compose 文件组织起来很容易。

注意:不建议将其用于生产用途。简而言之,这就是我能建议的全部内容,因为您是部署新手。

于 2021-07-20T20:37:34.670 回答