如何将 express react 应用程序部署到 aws elastic beanstalk?

Posted

技术标签:

【中文标题】如何将 express react 应用程序部署到 aws elastic beanstalk?【英文标题】:How to deploy express react app to aws elastic bean stalk? 【发布时间】:2018-07-13 11:19:53 【问题描述】:

我目前正在尝试将应用程序部署到 aws 作为具有反应前端和 Express 后端的弹性 beanstalk 实例。

这是当前文件结构,client文件夹是create react app

我运行了 create-react-app 附带的 npm run build 脚本,但 eb deploy 部署失败。

我想在 react “client” 文件夹中执行 eb init 还是在 express 主 repo 部分中运行它?是否假设在 express 和 react 部分上都有构建,或者是否有一个脚本/npm 包可以一起构建 express api 和 react 部分?

【问题讨论】:

【参考方案1】:

如果我正确理解了您的问题,那么您在部署后会失败,这会在 npm 安装后启动 npm ..

在 package.json 中添加一个预启动脚本,ebs 将在“npm install”之后和 npm start cmd 之前运行“npm run build”,例如:npm app.js 或 npm start

"prestart": "npm run build",

【讨论】:

【参考方案2】:

您可以通过两种不同的方式部署您的项目。

第一种方法是只使用命令行

//this command will create new t2.small instance
eb create yourappname --instance_type t2.small

//than for deploy your project
eb deploy

第二种方法

    登录到 aws 控制台

    进入 elasticbeanstalk 部分

    创建新应用程序

然后,进入你电脑上的项目目录,

//Select the instance you already created with using
eb init
//than for uplading your project or any changes you just need to use
eb deploy

请确保在项目目录中编写此命令。您可以使用

仔细检查
pwd

【讨论】:

以上是关于如何将 express react 应用程序部署到 aws elastic beanstalk?的主要内容,如果未能解决你的问题,请参考以下文章

将React + NodeJS + Express + MySQL应用程序部署到Heroku仅部署服务器而不是React

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

如何在 Windows 上将 docker nginx 与 express 和 react 应用程序连接起来

将 React 应用程序部署到 AWS

将 node.js 应用程序部署到弹性 beanstalk(使用 express)

如何将 express.js 服务器部署到 Netlify