aws lambda_如何在AWS EC2实例上部署Spring Boot应用程序

aws lambda

aws lambda

你好朋友,

在本教程中,我们将看到如何在AWS EC2实例上部署Spring Boot应用程序。

这是我们将要执行的步骤。

1.使用Spring Boot Initialiser创建一个Spring Boot项目。2.创建一个休息端点,部署后可以访问3.启动EC2实例4.将我们的Spring Boot项目从本地计算机复制到EC2实例5.使用SSH连接到EC2实例6.删除JDK 7并通过EC2实例安装JDK 87.在EC2实例上执行spring boot jar8.确保您的安全组允许通过端口8080并使用TCP协议从Internet进行入站流量9.通过从浏览器中访问端点URL来测试应用程序 因此,让我们一步一步来看看...。

您可以按照以前的教程之一进行操作,在其中我逐步说明了如何使用Spring Initialiser创建Spring Boot项目。这里是链接。

如何使用Spring Initializer创建Spring Boot项目

对于此示例,我给项目指定了名称“ springbootproject”,因此您可以使用相同的名称,因为该名称将在后续步骤中使用。

在项目中添加以下Rest终结点。我们正在添加此非常基本的终结点,以便稍后可以在部署后通过单击此终结点来测试应用程序。

 package com.blogspot.javasolutionsguide.springbootproject;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 /**

 * @author JavaSolutionsGuide

 *

 */
 @RestController
 @RequestMapping (value = "/api" )
 public class Hello {
 @GetMapping (value = "/v1/data" )
 public String sayHelloWorld() {

 return "Hello JavaSolutionsGuide Readers" ;
 }
 }

我编写了详细的分步教程,其中介绍了如何在AWS中启动EC2实例。链接在这里。 如何在AWS上启动EC2实例

当我们想在EC2上部署我们的spring boot项目时,代码必须移至EC2实例。将代码从本地计算机复制到EC2实例,然后从代码所在目录执行以下命令。

scp -i /用户/ Aakarsh /下载/EC2Keypair.pem /用户/ Aakarsh /下载/springbootproject/target/springbootproject-0.0.1-SNAPSHOT.jar ec2-user@ec2-54-242-53-241.compute-1.amazonaws.com:〜

scp的语法如下所示

scp -i <本地计算机上pem文件的路径> <spring引导项目或可交付成果的路径> user @ remote主机名:〜

scp

您可以通过以下链接阅读更多有关SCP的信息:安全复制协议

在AWS中启动EC2实例时,请指定密钥对。您可以指定在启动时创建的现有密钥对或新密钥对。在EC2引导时,公钥内容将放置在实例中。 〜/ .ssh /授权密钥中的条目。要登录到实例,必须在连接到实例时指定私钥(.pem文件)。

请注意,每个Linux实例均使用默认Linux系统用户帐户启动。默认用户名由启动实例时用户指定的API确定。对于Amazon Linux 2或Amazon Linux API,用户名为ec2-user。

〜代表远程EC2系统的主目录。

  要连接到EC2实例,您需要遵循以下说明。

单击实例,然后从以下屏幕上单击“连接”按钮,您将获得这些说明。

这是从终端执行命令并连接到ec2实例时的样子。

我从AMI获得的EC2实例默认情况下已打开jdk 7。

我们也可以继续使用JDK 7,但是由于我现在大多数时候都在使用JDK,并且仅使用jdk 8编译我的项目,因此我删除了JDK 7并安装了JDK 8。

删除JDK 7的命令

sudo yum删除java-1.7.0-openjdk

sudo yum安装java-1.8.0

执行以下命令

java -jar springbootproject-0.0.1-SNAPSHOT.jar

在AWS控制台中单击实例并检查与您的实例关联的安全组

正如我们在上面的屏幕截图中看到的那样,此EC2实例附带的安全组是launch-wizard-1

现在,当我们打开此安全组时,我有以下条目,如您所见,该条目仅允许使用SSH通过端口22进行Internet通信。这完全是我们能够使用SSH从计算机连接到此EC2实例的原因。如果我们从这里删除此规则,SSh将不起作用

但是现在,由于我们要使用http协议从浏览器(互联网)测试端点,并且需要通过端口8080访问我们的应用程序,因此安全组中应该有与之对应的规则。

因此,让我们继续添加安全组入站规则

单击保存,您的新规则将被保存。此外,您无需重新启动实例即可使此安全组规则生效。一旦保存该规则,它将立即生效。

在浏览器中点击以下网址

http://ec2-3-19-64-196.us-east-2.compute.amazonaws.com:8080/api/v1/data

ec2-3-19-64-196.us-east-2.compute.amazonaws.com在这里是EC2实例的公共DNS。

因此,正如您所看到的,我们能够成功地看到来自端点的响应,这意味着springbootproject已成功部署并正在按预期执行。

谢谢您的阅读。此外,我还将在未来几天内在AWS上编写更多此类教程。如果您发现本教程很有用,请不要忘了订阅博客,不要错过最新博客的更新。

翻译自: https://www.javacodegeeks.com/2019/10/deploy-spring-boot-application-aws-ec2-instance.html

aws lambda

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值