Luk*_*ron 5 web-deployment amazon-web-services node.js express reactjs
我最近一直在学习 React 和 Node js,并且玩得很开心。我想使用 Amazon AWS 将我的作品部署/发布到互联网上(与朋友和潜在雇主分享我的应用程序)。但是,我遇到了麻烦。
我对这个过程进行了相当多的研究,似乎找不到任何足够详细且涉及我的网络应用程序各个方面的资源。澄清一下,我的前端是用 React 编写的,后端是用 Node/Express js 编写的,并且连接到 MySQL 数据库。目前所有这些都存储在我的计算机本地。
我不知道如何继续...我已经尝试将所有代码添加到 github 并运行 AWS Amplify 上的部署功能,但这似乎仅限于反应前端(至少我无法发现任何东西)关于包括我的后端功能以及包括我的数据库连接和来自 Node 的查询)。
有人能指出我正确的方向吗?提供任何提示、建议和/或资源来帮助此过程将不胜感激。具体到这个问题:如何通过 Amazon AWS 将我的 React、Node/Express 和 MySQL Web 应用程序(当前完全存储在我的本地计算机上)部署到互联网?
概括一下这个问题:您想要将前端、后端和数据库部署到 AWS。(不幸)幸运的是,对此有很多不同的选择。让我们来探索一下。
前端
假设您的前端是一组静态资源(html/js/css),那么您只需要一个 Web 服务器即可。您可以使用 S3(也可以为网站提供服务的对象存储)或 Cloudfront(内容交付网络),或者在 EC2 上运行虚拟机,在那里安装 Web 服务器并在那里部署您的前端。
后端
这里有很多选项。您可以将应用程序打包在 Docker 容器中并使用 ECS(容器服务或 EKS(kubernetes 服务)。您还可以在 Elastic beanstalk 上运行后端(与 Heroku 相当)。或者,在 EC2 上运行虚拟机并在那里部署您的后端。
数据库
您可以选择托管/托管数据库(例如 RDS),也可以通过将其安装在虚拟机上并在那里安装数据库服务器来推出自己的数据库。
那么,该选什么?这取决于你对什么感到舒服。如果您有管理 Linux 服务器的经验,您可以启动一个 EC2 实例,安装一个 Web 服务器(如 nginx 或 apache),安装 NodeJS,安装 MySQL,然后将前端、后端和数据库脚本/备份复制到服务器。
如果您不习惯管理 Linux 服务器,您可以选择托管/托管解决方案,例如 S3、Elastic beanstalk 和 RDS。这样做,当您的前端与后端运行在不同的域/url 上时,您的后端需要设置 CORS 标头,否则浏览器将不允许您的前端向后端发出 HTTP 请求。
希望这有帮助,祝你好运!
| 归档时间: |
|
| 查看次数: |
3453 次 |
| 最近记录: |