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

在此博客中,我们将看到如何在Amazon ElasticBeanstalk上部署Spring Boot应用程序。

Amazon ElasticBeanstalk具有一个预配置的Java环境,可用于部署内部装有servlet容器的Spring Boot JAR。

对于我们的示例,此处将使用maven作为构建工具。

步骤1:第一步是将应用程序打包为要部署的JAR。
–在pom中,我们必须确保将“ packaging”属性设置为“ jar”

<groupId>com.anirudh</groupId>
    <artifactId>practice</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>jar</packaging>
    <name>Practice</name>

–现在,运行maven命令以打包应用程序并生成一个JAR。

Anirudhs-MacBook-Pro:~ anirudh$ mvn clean package

这会将JAR打包到目标文件夹中,如下所示:

practice-1.0-SNAPSHOT

现在,我们需要在ElasticBeanstalk中创建一个环境。

第2步:

登录您的AWS账户并转到Elastic Beanstalk。 创建一个新环境,为您的应用程序命名,选择适当的实例类型。 如果您只是对此进行测试,请确保选择“ t2.micro”实例,因为它位于“免费套餐”下。

创建Java环境后,需要将创建的“ JAR”上载到Elastic Beanstalk,如果使用Web Interface,则可以直接选择文件并上载,否则,如果使用CLI,则可以使用以下命令将其推送到ElasticBeanstalk:它的CLI模块。 上传后,将需要几分钟来部署您的应用程序。

该应用程序现在使用Nginx反向代理,默认情况下会与端口5000通讯,因此现在将不可用。因此,如果您尝试立即运行该应用程序,则会收到502错误。 要解决此问题,您需要定义属性“ PORT”

步骤3:定义“端口”

为了使应用程序正常运行,您需要添加一个名称为“ PORT”的标签,并在大多数情况下设置值,如果使用所有默认值,则应为8080。

步骤4:打开端口8080

现在,我们需要打开端口8080,以输入EC2实例的入站流量。 转到EC2实例并找到用于该实例的安全组。 编辑安全组,添加入站规则,然后添加以下规则:

screen-shot-2016-08-21-at-11-43-34-pm

现在,您的端口8080已打开,可以接受入站连接。 现在,如果您单击应用程序的链接,则应该可以访问您的应用程序,如果不尝试将端口8080添加到URL中(如果您未使用ELB)

可选步骤5:添加数据库

如果您的应用程序正在使用数据库,则将RDS实例添加到ElasticBeanstalk应用程序中并启动它。
记下访问URL,用户名,密码等。

Endpoint: aaxxxxxxj.xxxxxxxmcn.ap-south-1.rds.amazonaws.com:3306

转到application.properties文件,并输入所有这四个参数:(此示例使用MySQL)

spring.datasource.url = jdbc:mysql://aaxxxxxxj.xxxxxxxmcn.ap-south-1.rds.amazonaws.com:3306/practice
spring.datasource.username = xxxxx
spring.datasource.password = xxxxxx
spring.jpa.properties.hibernate.dialect = org.hibernate.dialect.MySQL5Dialect

现在,如果您已将“ spring.jpa.hibernate.ddl-auto”设置为创建/更新,请再次打包您的JAR并上传。 只要已经建立了架构,就可以创建数据库表。 您可以使用schema.sql在Spring Boot中创建架构。

希望这有助于将Spring Boot应用程序部署到Amazon Elastic bean stalk。

翻译自: https://www.javacodegeeks.com/2016/08/deploy-spring-boot-application-amazon-elastic-beanstalk.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值