使用Amazon AWS将React,Node / Express和MySQL Web应用程序部署到Web上

问题描述 投票:0回答:2

我最近一直在学习React和Node js,并从中获得了很多乐趣。我想使用Amazon AWS在互联网上部署/发布我的作品(与朋友和潜在的雇主共享我的应用程序)。但是,我遇到了麻烦。

我已经对这个过程进行了相当多的研究,似乎找不到足够详细的资源并且涉及我的Web应用程序的各个方面。为了澄清起见,我的前端是用React写的,后端是Node / Express js,它连接到MySQL数据库。当前,所有这些都存储在本地计算机上。

我不确定如何继续...我一直在尝试将所有代码添加到github并通过AWS Amplify上的deploy功能运行,但是这似乎仅限于react前端(至少我不能发现有关包括后端功能以及数据库连接和来自Node的查询的任何信息。

有人能指出我正确的方向吗?提供任何提示,建议和/或资源以帮助该过程。专门针对此问题:如何通过Amazon AWS将React,Node / Express和MySQL Web应用程序(当前完全存储在本地计算机上)部署到Internet?

node.js reactjs amazon-web-services express web-deployment
2个回答
0
投票

为了稍微泛化这个问题:您想将前端,后端和数据库部署到AWS。不幸的是,有很多不同的选择。让我们来探索一下。

前端假设您的前端是一组静态资源(html / js / css),那么您只需要一台Web服务器即可。您可以使用S3(也可以为网站提供服务的对象存储)或Cloudfront(内容交付网络),也可以在EC2上运行虚拟机,在此处安装Web服务器并在其中部署前端。

后端这里有很多选择。您可以将应用程序打包在Docker容器中并使用ECS(容器服务或EKS(kubernetes服务)。也可以在Elastic beantalk(与Heroku相比)上运行后端;也可以在EC2上运行虚拟机,然后在此处部署后端。

数据库您可以在RDS之类的托管/托管数据库之间进行选择,也可以通过将其安装在虚拟机上并在其中安装数据库服务器来进行滚动。

所以,该挑选什么?这取决于您对什么感到满意。如果您有一些管理Linux服务器的经验,则可以启动EC2实例,安装nginx或apache之类的Web服务器,安装NodeJS,安装MySQL,然后将前端,后端和数据库脚本/备份复制到服务器。

如果您对管理Linux服务器不满意,则可以选择托管/托管解决方案,例如S3,Elastic beanstalk和RDS。这样做,当您的前端与后端运行在不同的域/ URL上时,您的后端需要设置CORS标头,否则浏览器将不允许您的前端向后端发出HTTP请求。

希望有帮助-祝你好运!


0
投票

Elastic Beanstalk(EB)可能是一个不错的开始,因为它可以提供node.js应用程序所需的所有资源,而无需从头开始设置和管理所有内容的大量知识:

[为简单起见,您可以从single instance环境类型(无负载均衡器)开始,然后看看它如何进行。

EB还可以为您设置数据库

如果您对使用AWS感到更自在,则可以扩展到load balanced EB环境,或查看其他选项,例如您自己的具有自动扩展组,负载均衡器,容器服务等的EC2实例。

© www.soinside.com 2019 - 2024. All rights reserved.