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

2024-05-05 11:28

本文主要是介绍【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。

这篇关于【idea-sprongboot项目】SSH连接云服务器进行远程开发的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/961604

相关文章

C#实现访问远程硬盘的图文教程

《C#实现访问远程硬盘的图文教程》在现实场景中,我们经常用到远程桌面功能,而在某些场景下,我们需要使用类似的远程硬盘功能,这样能非常方便地操作对方电脑磁盘的目录、以及传送文件,这次我们将给出一个完整的... 目录引言一. 远程硬盘功能展示二. 远程硬盘代码实现1. 底层业务通信实现2. UI 实现三. De

springboot+vue项目怎么解决跨域问题详解

《springboot+vue项目怎么解决跨域问题详解》:本文主要介绍springboot+vue项目怎么解决跨域问题的相关资料,包括前端代理、后端全局配置CORS、注解配置和Nginx反向代理,... 目录1. 前端代理(开发环境推荐)2. 后端全局配置 CORS(生产环境推荐)3. 后端注解配置(按接口

Vue 2 项目中配置 Tailwind CSS 和 Font Awesome 的最佳实践举例

《Vue2项目中配置TailwindCSS和FontAwesome的最佳实践举例》:本文主要介绍Vue2项目中配置TailwindCSS和FontAwesome的最... 目录vue 2 项目中配置 Tailwind css 和 Font Awesome 的最佳实践一、Tailwind CSS 配置1. 安

Spring Boot项目打包和运行的操作方法

《SpringBoot项目打包和运行的操作方法》SpringBoot应用内嵌了Web服务器,所以基于SpringBoot开发的web应用也可以独立运行,无须部署到其他Web服务器中,下面以打包dem... 目录一、打包为JAR包并运行1.打包为可执行的 JAR 包2.运行 JAR 包二、打包为WAR包并运行

Idea插件MybatisX失效的问题解决

《Idea插件MybatisX失效的问题解决》:本文主要介绍Idea插件MybatisX失效的问题解决,详细的介绍了4种问题的解决方法,具有一定的参考价值,感兴趣的可以了解一下... 目录一、重启idea或者卸载重装MyBATis插件(无需多言)二、检查.XML文件与.Java(该文件后缀Idea可能会隐藏

IDEA之MyBatisX使用的图文步骤

《IDEA之MyBatisX使用的图文步骤》本文主要介绍了IDEA之MyBatisX使用,文中通过图文示例介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习... 目录一、idea插件安装二、IDEA配置数据库连接(以mysql为例)三、生产基础代码一、idea插

Nginx部署React项目时重定向循环问题的解决方案

《Nginx部署React项目时重定向循环问题的解决方案》Nginx在处理React项目请求时出现重定向循环,通常是由于`try_files`配置错误或`root`路径配置不当导致的,本文给大家详细介... 目录问题原因1. try_files 配置错误2. root 路径错误解决方法1. 检查 try_f

一文教你如何解决Python开发总是import出错的问题

《一文教你如何解决Python开发总是import出错的问题》经常朋友碰到Python开发的过程中import包报错的问题,所以本文将和大家介绍一下可编辑安装(EditableInstall)模式,可... 目录摘要1. 可编辑安装(Editable Install)模式到底在解决什么问题?2. 原理3.

idea报错java: 非法字符: ‘\ufeff‘的解决步骤以及说明

《idea报错java:非法字符:‘ufeff‘的解决步骤以及说明》:本文主要介绍idea报错java:非法字符:ufeff的解决步骤以及说明,文章详细解释了为什么在Java中会出现uf... 目录BOM是什么?1. BOM的作用2. 为什么会出现 \ufeff 错误?3. 如何解决 \ufeff 问题?最

Python+PyQt5开发一个Windows电脑启动项管理神器

《Python+PyQt5开发一个Windows电脑启动项管理神器》:本文主要介绍如何使用PyQt5开发一款颜值与功能并存的Windows启动项管理工具,不仅能查看/删除现有启动项,还能智能添加新... 目录开篇:为什么我们需要启动项管理工具功能全景图核心技术解析1. Windows注册表操作2. 启动文件