【idea-sprongboot项目】SSH连接云服务器进行远程开发

继上一篇博客【阿里云服务器】ubuntu 22.04.1安装docker以及部署java环境-CSDN博客 

目录

 五、远程开发方式

1)SSH进行远程开发

步骤

配置文件同步

window电脑远程操控

正式通过window电脑远程操控

运行在linux服务器上的远程程序

 调试在linux服务器上的远程程序


 五、远程开发方式

1)SSH进行远程开发

使用SSH进行远程开发Java Spring Boot 应用是一种常见且有效的方式。

使用SSH客户端连接到你的云服务器。你可以使用像OpenSSH这样的命令行工具,或者更友好的图形界面工具,比如PuTTY(Windows),或者直接在终端中使用SSH命令.

一旦连接到服务器,确保安装了Java开发环境。你可以使用你喜欢的包管理器(如apt、yum等)来安装Java。安装Maven或Gradle等构建工具,以便构建和管理你的Spring Boot应用。

在服务器上设置好你的开发环境,包括数据库和其他依赖项。确保你的服务器环境与你的本地环境保持一致。

使用你喜欢的文本编辑器(如Vim、Nano、Emacs等)或者图形化的IDE(如果你的服务器支持图形界面),打开你的Spring Boot项目文件夹,并开始编码。

在项目根目录下使用Maven或Gradle构建你的应用程序。然后,你可以运行生成的jar文件或者使用Spring Boot Maven插件直接启动应用程序。

最后通过浏览器或者命令行测试你的应用程序,并进行必要的调试。你可以使用日志文件、调试器等工具来帮助定位和解决问题。

通过这些步骤,你可以使用SSH在云服务器上进行Java Spring Boot应用程序的远程开发。

步骤

配置文件同步

(1)依次按照下图中的流程,打开configuration,

选择SFTP协议,输入服务器名称, 点击OK。

添加一个ssh连接配置,这样idea软件才知道应该去访问连接哪个linux服务器,

这里的host就是云服务器的ip,写入密码,进行测试连接,

测试连接成功,表示没什么问题。

点击Apply应用,点击OK退出。

(2)路径映射

接下来我们要配置一个文件同步,把我们Windows上的文件自动的同步到linux服务器上对应的目录。

依次按照下图中的流程,打开mapping路径映射,

  1. localpath:Windows电脑上的存储代码的项目路径
  2. deploymentpath:linux服务器上的路径

在 linux服务器上的home文件夹下新建一个文件夹code,用来存储项目。

点击OK退出。

我们现在可以看到inux服务器上的home/code下是没有任何文件的。

 (3)在项目的根目录处点击右键,依次按照下图中的流程,选择“sync with Deployed.......”同步部署,

然后idea就会为我们列举现在还没有同步到linux服务器上的文件,选择“同步所有文件”一键全部同步,

然后,我们现在可以看到inux服务器上的home/code下已经有文件了。

但如果我们每次都需要手动同步,还是很麻烦的。

(4)开启自动同步

依次按照下图中的流程,选择“自动上传”,

现在我们测试一下,在项目下新建一个“a.txt”文件,输入一个字符串,

然后,我们现在可以看到inux服务器上的home/code下已经有“a.txt”文件了,已经自动同步了。可以cat查看文件内容,

OK,那自动上传开启成功了。

(5)开启删除文件同步,

在windows电脑上删除文件,开启删除文件同步,这样linux服务器就可以删除文件同步。

window电脑远程操控

(1)进入idea终端,点击下方箭头,能够看到我们已经连接成功的linux服务器,然后选择已经连接成功的linux服务器打开终端,

输入下行命令,来运行springboot项目,

mvn spring-boot:run

可以看到现在程序正在下载我们项目依赖的代码,

等待下载安装完成之后,就可以看到我们的项目在8090端口启动了,

(2)需要在阿里云服务器的官网登录自己的账号,打开服务器端的安全组,

(3)本地打开浏览器,访问远程服务器上的接口地址,

返回OK,就证明现在我们的项目已经成功在linux服务器上运行,并且本地已经可以成功访问到了。

刚刚我们只是通过run命令,在远程服务器上调试运行。

正式通过window电脑远程操控

运行在linux服务器上的远程程序

(1)构建项目

在本地的idea终端的远程连接服务器的终端里,输入下列命令,

mvn package

等待完成,

等待完成,如果出现“Build success”就说明打包成功了。

然后,我们现在可以看到inux服务器上的home/code/target下已经有jar包了,

 

(2)部署就很简单了,我们只需要执行这个jar包,

回到idea的已经连接成功的linux服务器的终端,运行下行命令来部署jar包,指定一下jar包所在的路径,以及要激活的配置,

java -jar oj-codesandbox-0.0.1-SNAPSHOT.jar --sprint.profiles.active=prod

就可以看到我们的项目在8090端口启动了,在本地浏览器里访问路径http://101.201.118.145:8090/health ,

返回OK,就证明现在我们的项目已经成功在linux服务器上运行,并且本地已经可以成功访问到了。

 调试在linux服务器上的远程程序

最好不要在正在开启的项目上进行远程调试。

(1)点击idea的右上角的“编辑配置”,这里我们新增一套运行的配置,找到远程jvm调试,依次按照下图的流程进行,

复制生成的命令参数, 

-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005

(2)然后在本地的idea终端的远程连接服务器的终端里,输入下列命令,

在部署jar包的命令里,写入刚刚生成的命令参数,

java -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005 -jar oj-codesandbox-0.0.1-SNAPSHOT.jar --sprint.profiles.active=prod

(3)需要在阿里云服务器的官网登录自己的账号,打开服务器端的安全组5005端口,

(4)先在项目中打个断点,然后再本地浏览器访问http://101.201.118.145:8090/health ,

回到我们的idea,就会发现断点已经生效了。

OK。

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

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

相关文章

PXE批量安装

系统装机的三种引导方式 u盘光盘网络装机 光盘: 1.类似于usb模式 2.刻录模式 系统安装过程 加载boot loader Boot Loader 是在操作系统内核运行之前运行的一段小程序。通过这段小程序,我们可以初始化硬件设备、建立内存空间的映射图,从…

Partisia Blockchain 生态首个zk跨链DEX现已上线

在5月1日,由Partisia Blockchain与zkCross创建合作推出的Partisia zkCrossDEX在Partisia Blockchain生态正式上线。Partisia zkCrossDEX是Partisia Blockchain上重要的互操作枢纽,其融合了zkCross的zk技术跨链互操作方案,并利用Partisia Bloc…

Prompt提示词教程 | 提示工程指南 | 提示词示例 入门篇

在上一节中,我们介绍并给出了如何赋能大语言模型的基本示例。如果还没看而且是刚入门的同学建议看下,有个基本概念。 Prompt提示词教程 | 提示工程指南 | 提示工程简介https://blog.csdn.net/HRG520JN/article/details/138523705在本节中,我…

一堆自定义C#代码片段,让你开发效率飞涨

SharpBoxes 是一款用于 Visual Studio 的扩展,作者为本人; 该扩展旨在提高开发效率。它为开发人员提供了一组日常使用频率较高的代码片段,让你在编写代码时能够更快地插入常用的代码段。通过安装这个扩展,你可以使用快捷键轻松插…

【再探】设计模式—适配器、装饰及外观模式

结构型设计模式是用于设计对象和类之间关系的一组设计模式。一共有7种:适配器模式、装饰器模式、外观模式、桥接模式、组合模式、享元模式及代理模式。 1 适配器模式 需求:在软件维护阶段,已存在的方法与目标接口不匹配,需要个中…

产品需求文档怎么写?超详细的产品需求文档PRD模板来了!

产品需求文档怎么写?如何写一份简洁明了、外行人看了就能秒懂的产品需求文档呢?今天这篇文章,就来和大家分享如何编写一份高质量的产品需求文档 PRD! 下图是来自 boardmix 模板社区的「产品需求文档」模板,它给出了一…

区间预测——conformal tights

conformal tights 是一个python包 特征: sklearn元估计器:向任何scikit-learn回归器添加分位数和区间的共形预测 darts预测:向任何scikit-learn回归器添加共形校准的概率预测 保形校准:准确的分位数和可靠的覆盖的区间 相干分…

VS Code中PlatformIO IDE的安装并开发Arduino

VS Code中PlatformIO IDE的安装并开发Arduino VS Code的安装 略 PlatformIO IDE的安装 PlatformIO IDE是是什么 PlatformIO IDE 是一个基于开源的跨平台集成开发环境(IDE),专门用于嵌入式系统和物联网(IoT)开发。…

小白入门:创建一个SpringBoot项目

前言 我们在创建SpringBoot项目时候,会出现不确定和报错的情况很多,大家可以按照我的做法来简单创建一个SpringBoot项目 1.环境配置 下载安装并配置jdk1.8下载apache mavenidea软件 2.开始创建项目 Server URL:初始是start.spring.io,我…

【计算机科学速成课】笔记三——操作系统

文章目录 18.操作系统问题引出——批处理设备驱动程序多任务处理虚拟内存内存保护Unix 18.操作系统 问题引出—— Computers in the 1940s and early 50s ran one program at a time. 1940,1950 年代的电脑,每次只能运行一个程序 A programmer would write one at…

栈数据结构

1,概念 栈:一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端称为栈 顶,另一端称为栈底。栈中的数据元素遵守后进先出LIFO(Last In First Out)的原则。 压栈(push)&#x…

绘画作品3d数字云展厅提升大众的艺术鉴赏和欣赏能力

3D虚拟展厅作为未来艺术的展示途径,正逐渐成为文化创意产业蓬勃发展的重要引擎。这一创新形式不仅打破了传统艺术展览的局限性,更以其独特的魅力吸引着全球观众的目光。 3D虚拟艺术品展厅以其独特的魅力,助力提升大众的艺术鉴赏和欣赏能力。观…