使用 AWS Elastic Beanstalk 在 AWS 上部署 Spring Boot 应用程序

Posted

技术标签:

【中文标题】使用 AWS Elastic Beanstalk 在 AWS 上部署 Spring Boot 应用程序【英文标题】:Deploying a Spring Boot Application on AWS Using AWS Elastic Beanstalk 【发布时间】:2017-09-28 22:10:37 【问题描述】:

我想,但我没有看到上传 jar 文件的选项,只有 zip 和 war (?!)

在本教程中,他们正在部署一个 jar 文件: https://aws.amazon.com/es/blogs/devops/deploying-a-spring-boot-application-on-aws-using-aws-elastic-beanstalk/

【问题讨论】:

您可以使用相同的 ZIP 或 WAR 文件上传器上传 JAR 文件。 【参考方案1】:

教程:如何使用 Elastic Beanstalk 将 Spring Boot 应用程序部署到 Amazon AWS

Youtube 视频教程: https://www.youtube.com/watch?v=JYVlzoRMa3U

源码链接:https://github.com/marcthomas2013/spring-boot-aws

完整教程链接:https://mtdevuk.com/2015/02/10/how-to-deploy-a-spring-boot-application-to-amazon-aws-using-elastic-beanstalk/

创建 Spring Boot War:

    启动安装了 Spring Extensions 的 eclipse IDE。对于 Luna,将此链接添加到您的更新安装程序 http://dist.springsource.com/release/TOOLS/update/e4.4/ 您还需要在 Eclipse 中安装 Tomcat 服务器。如果您没有此设置,请先在 Google 上搜索设置说明,然后再继续。 选择文件->新建->其他->Spring->Spring Starter Project 将名称和工件设置为 spring-boot-aws 将包装从 jar 更改为 war(这有几件事我稍后会解释) 选择 Actuator 和 Remote Shell,以便我们有一些 RESTful 服务来测试应用程序。 点击完成

它创建了一个简单的 Spring Boot 应用程序,其中包含一些 REST 服务,例如 /beans,这些服务将返回应用程序中所有 bean 的 JSON 对象。

使用 Amazon Elastic Beanstalk 部署您的应用程序

    登录亚马逊 AWS。 在主控制面板中,选择 Deployment & Management 下的 Elastic Beanstalk。 点击右上角的创建应用程序。 输入应用程序名称并单击下一步。 环境层 - Web 服务器 预定义配置 – Tomcat 环境类型 - 单实例 点击下一步 选择上传您自己的,点击浏览并找到您之前创建的战争。 上传应用程序后,您将看到选择 URL 的下一页。 输入名称并单击“检查可用性”以查看是否可以使用。 点击下一步 在此示例中我们不需要 RDB,因此请单击此处。 在下一步中,您将定义将要创建的 EC2 实例,如果您使用免费试用版,请坚持使用免费 t1.micro 实例类型。 EC2 密钥对,可以不选中。你现在不需要它,很可能你还没有配置。这将在以后的帖子中介绍。 点击下一步。 在环境标签中再次单击下一步,因为我们不关心这个。 查看配置,然后单击启动。

Amazon AWS 现在将配置您的服务器、安装 Tomcat 服务器并部署您上传的 war 文件。完成此操作确实需要 5-10 分钟。

此处提供另一个完整教程: Step-by-Step Guide to Deploying a Full-Stack Spring Boot Application in AWS

如果你想使用CLI以官方方式部署代码,那么你可以通过this tutorial:

P.S 如果您遇到 502 Bad Gateway nginx 的问题,您有三个选项 我更喜欢将 spring boot 端口更改为 5000 在此处查看更多详细信息Bad GatWay problem 3 options to solve it

【讨论】:

源代码很有用,但 youtube 视频不可用 @BaDrAmer 我已链接到另一个 youtube 视频。请检查 分步指南的链接不再可用:(

以上是关于使用 AWS Elastic Beanstalk 在 AWS 上部署 Spring Boot 应用程序的主要内容,如果未能解决你的问题,请参考以下文章

AWS Elastic Beanstalk 上禁止使用 Django 403

AWS Elastic Beanstalk

使用 AWS CodeBuild 和 EB CLI 部署到 AWS Elastic Beanstalk

Elastic Beanstalk (AWS) 的休眠配置

如何使用 Elastic beanstalk 和 Dockerrun.aws.json 正确部署到 AWS?

AWS 和 Elastic Beanstalk