django 使用AWS Lightsail进行Web部署

j91ykkif  于 2023-08-08  发布在  Go
关注(0)|答案(2)|浏览(113)

我是新来部署网站。我用Django后端和mysql数据库构建了一个React前端。我将其对接并购买了一个域名。现在我想把它投入生产,但选择似乎无穷无尽。
我想使用AWS Lightsail,但我不确定是否选择容器或示例,以及它们的区别是什么,容器是两倍的价格,但你用这笔钱能得到什么?
另外,是否可以在Lightsail示例或容器中运行Mysql数据库,或者我需要单独购买数据库?
如果有人能向我解释这一点,我将非常感激!

k4emjkb1

k4emjkb11#

是的,选择是无穷无尽的。考虑到您想要使用AWS Lightsail,并且您已经将后端和前端服务容器化。
你应该有五个容器运行Docker -

  1. Nginx容器
  2. Certbot容器
  3. Django后端容器
  4. React前端容器
  5. MySQL数据库容器(确保已挂载卷以保存数据)
    Nginx将作为负载均衡器工作,您可以使用Let's encrypt,Certbot将生成SSL证书,您将使用这些证书通过Nginx作为负载均衡器暴露您的服务。
    Nginx将在端口80上运行,您必须将您的光帆的IP地址放在域的DNS配置中。因此,一旦有流量到达您的示例,(您需要为前端服务编写Nginx conf)。然后Nginx会转发给你的前端服务,前端服务使用Django后端,后端使用Mysql数据库。
    将所有服务放在同一个Docker网络中,使用不同的端口。使用docker-compose文件来组织很容易。
    注:不建议在生产中使用。简而言之,这就是我所能建议的,因为你是新的部署。
xwmevbvl

xwmevbvl2#

我正在使用DeployHQ将我的React应用程序免费部署到AWS Lightsail。我没有使用Django,因为我使用NodeJS,但过程应该是相同的。
1.在DeployHQ中创建服务器,选择SSH
1.添加Lightsail示例公网IP和用户名
1.上传为您的Lightsail示例创建的私钥
1.在“部署路径”字段中指定React构建文件夹的绝对路径;例如:martsmits/build
1.在“部署选项”高级设置中,选中“自动部署”复选框
1.在“要部署的子目录”字段中指定内部版本/文件夹
1.在AWS Lightsail示例中,更新Firewall以授予对DeployHQ提供的IP范围的SSH访问权限

相关问题