aws 删除ec2实例_如何在AWS EC2实例上部署Spring Boot应用程序

aws 删除ec2实例

你好朋友,

在本教程中,我们将看到如何在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 8 7.在EC2实例上执行spring boot jar 8.确保您的安全组允许通过端口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 删除ec2实例

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/331897.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

jdbc操作mysql数据库_JDBC操作MySQL数据库(一)

连接MySQL数据库连接数据源有两种方式&#xff1a;1)通过DriverManager类2)通过DataSource接口及JNDI资源获得连接DriverManager类的路径为java.sql.DriverManager&#xff0c;它主要完成驱动程序的装载和建立新的数据库连接。其常用方法如下&#xff1a;* getConnection (Stri…

只读事务上下文_我可以/应该在事务上下文中使用并行流吗?

只读事务上下文介绍 长话短说&#xff0c;您不应在并行流中使用事务。 这是因为并行流中的每个线程都有其自己的名称&#xff0c;因此它确实参与了事务。 Streams API旨在在某些准则下正常工作。 实际上&#xff0c;为了受益于并行性&#xff0c;不允许每个操作更改共享对象的…

mysql多表查询详解_MySQL多表查询详解上

时光在不经意间&#xff0c;总是过得出奇的快。小暑已过&#xff0c;进入中暑&#xff0c;太阳更加热烈的绽放着ta的光芒&#xff0c;...在外面被太阳照顾的人们啊&#xff0c;你们都是勤劳与可爱的人啊。在房子里已各种姿势看我这篇这章的你&#xff0c;既然点了进来&#xff…

无权最短路径

【0】README 0.1&#xff09; 本文总结于 数据结构与算法分析&#xff0c; 源代码均为原创&#xff0c; 旨在理解 无权最短路径 的思想并用源代码加以实现&#xff1b; 【1】无权最短路径相关概念&#xff08;边的权值赋值为1&#xff09; 1.1&#xff09;概述&#xff1a;下…

java 键入_在Java中键入Safe SQL

java 键入字符串&#xff0c;字符串&#xff0c;字符串 无论您使用的是JPA &#xff0c; MyBatis还是Spring Data JDBC之类的框架&#xff0c;总会最终将SQL语句声明为Java String。 这种方法的问题在于&#xff0c;您必须为每个语句编写测试&#xff0c;以确保它甚至是有效SQ…

filter过滤后重新添加_Spring Boot 2.X(十):自定义注册 Servlet、Filter、Listener

前言在 Spring Boot 中已经移除了 web.xml 文件&#xff0c;如果需要注册添加 Servlet、Filter、Listener 为 Spring Bean&#xff0c;在 Spring Boot 中有两种方式&#xff1a;使用 Servlet 3.0 API 的注解 WebServlet、WebFilter、Listener 用来配置。Spring Boot JavaConfig…

对象克隆+深浅拷贝

【0】README 0.1&#xff09; 本文描述源代码均 转自 core java volume 1&#xff0c; 旨在理解 对象拷贝 的概念 &#xff0c; 特别是对 深拷贝和浅拷贝 的理解&#xff1b; 0.2&#xff09; 最后&#xff0c;我们还要看一个 clone 的荔枝&#xff1b; 【1】对象克隆相关 1…

read cache_通过READ-BEHIND CACHE控制您的慢速生产者

read cache在我们的互联世界中&#xff0c;我们经常使用我们不拥有或无权改善的API中的数据。 如果一切顺利&#xff0c;他们的表现就会很好&#xff0c;每个人都会高兴。 但是太多次&#xff0c;我们不得不使用延迟小于最佳延迟的 API。 当然&#xff0c;答案是缓存该数据 。…

azkaban mysql参数_azkaban参数详解

参数传递是调度字体工作流运行时非常重要的一部分&#xff0c;工作流的执行&#xff0c;单个作业的执行&#xff0c;多个工作流之间的依赖执行&#xff0c;历史任务重算&#xff0c;都涉及到参数传递和同步。1 参数类型综述azkaban的工作流中的参数可以分为如下几个类型&#x…

接口与回调

【0】README 0.1&#xff09; 本文描述源代码均 转自 core java volume 1&#xff0c; 旨在理解 接口与回调 概念 &#xff1b; 【1】接口与回调相关 1.1&#xff09;回调定义&#xff1a; 回调是一种常见的程序设计模式&#xff0c; 在这种模式中&#xff0c; 可以指出某个…

spring react_使用Spring Cloud Gateway保护React式微服务

spring react朋友不允许朋友写用户身份验证。 厌倦了管理自己的用户&#xff1f; 立即尝试Okta的API和Java SDK。 数分钟之内即可在任何应用程序中对用户进行身份验证&#xff0c;管理和保护。 所以你想完全React&#xff0c;是吗&#xff1f; 大&#xff01; React式编程是使…

mysql断电同步不起作用_mysql主从同步因断电产生的不能同步问题

偶尔因为断电导致mysql slave 出现复制错误“Could not parse relay log event entry”Could not parse relay log event entry. The possible reasons are: the masters binary log is corrupted (you can check this by running mysqlbinlog on the binary log), the slaves …

图论——Dijkstra+prim算法涉及到的优先队列(二叉堆)

【0】README 0.1&#xff09;为什么有这篇文章&#xff1f;因为 Dijkstra算法的优先队列实现 涉及到了一种新的数据结构&#xff0c;即优先队列&#xff08;二叉堆&#xff09;的操作需要更改以适应这种新的数据结构&#xff0c;我们暂且吧它定义为Distance&#xff0c; 而不是…

cucumber测试_如何在Cucumber中进行后端测试

cucumber测试Cucumber是一种规范语言的执行框架。 它并不是要成为测试语言&#xff0c;而是用于创建测试自动化。 Cucumber最适合出现一些实际参与者互动并取得某种成果的情况。 当可以从用户的角度编写它时&#xff0c;它特别有用。 Given Sarah is a premium club member W…

linux mysql删除密码忘记了_linux下忘记mysql密码的几种找回方法(推荐)

今天我们主要是讲一下关于linux忘记mysql密码处理方法&#xff0c;下面提供了5种linux忘记mysql密码找回方法哦。方法一(先进入root权限)&#xff1a;# /etc/init.d/mysql stop# mysqld_safe --usermysql --skip-grant-tables --skip-networking &# mysql -u rootmysql>…

Dijkstra 算法——计算有权最短路径(边有权值)

【0】README 0.1&#xff09; 本文总结于 数据结构与算法分析&#xff0c; 源代码均为原创&#xff0c; 旨在理解 Dijkstra 的思想并用源代码加以实现&#xff1b; 0.2&#xff09;最短路径算法的基础知识&#xff0c;参见 http://blog.csdn.net/pacosonswjtu/article/detail…

spring使用自定义注解_用Spring组成自定义注释

spring使用自定义注解Java批注在2004年随Java 5一起引入&#xff0c;是一种将元数据添加到Java源代码中的方法。 如今&#xff0c;许多主要框架&#xff08;如Spring或Hibernate&#xff09;都严重依赖注释。 在本文中&#xff0c;我们将介绍一个非常有用的Spring功能&#xf…

打印结果和调试结果不一样(C语言)

【0】README 0.1&#xff09;本文旨在阐述 个人的debug经历&#xff0c;遇到的各种debug 奇葩问题&#xff0c; 说是奇葩&#xff0c;其实也是自己 不小心或者说是编程习惯不好&#xff1b; 【1】debug和running的运行结果不一致&#xff08;乍眼一看&#xff0c;你肯定醉了&a…

mysql add default_MySQL中create table DEFAULT 用法

CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name [(create_definition,...)][table_options] [select_statement]TEMPORARY&#xff1a;该关键字表示用create table新建的表为临时表&#xff0c;此表在当前会话结束后将自动消失。临时表主要被应用于存储过程中&#xff0c;…

jakarta ee_Jakarta EE贡献–入门

jakarta ee您是否有兴趣帮助Jakarta EE向前发展&#xff1f; 我也是。我想提供一些详细信息&#xff0c;以帮助有兴趣入门的人。 第1步&#xff1a; 开始捐款的第一步是签署Eclipse Foundation Committer and Contributor Agreement&#xff08;ECA&#xff09;&#xff1a; …