[toc]
在工作中,我们可能会遇到本地无法连接开发环境数据库等资源,但又想在本地直接开发、调试。
这时候就能通过idea
的run on ...
功能实现。
其原理是通过ssh
连上远程服务器,部署应用到远程服务器后,本地连接上远程服务器部署的应用。
ps:这种操作方式比在远程服务器上搭建代理服务,安全性要高的多得多。
[root@switch-sz-rvice-test ~]# yum install -y java-1.8.0-openjdk-devel.x86_64# 可以看到java的版本是1.8[root@switch-sz-rvice-test ~]# java -versionopenjdk version "1.8.0_302"openjdk runtime environment (build 1.8.0_302-b08)openjdk 64-bit rver vm (build 25.302-b08, mixed mode)
# 可以看到java_home是/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.302.b08-0.el8_4.x86_64[root@switch-sz-rvice-test ~]# find / -name java /etc/pki/ca-trust/extracted/java/etc/pki/java/etc/alternatives/java/etc/java/var/lib/alternatives/java/usr/bin/java/usr/lib/java/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.302.b08-0.el8_4.x86_64/jre/bin/java/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.302.b08-0.el8_4.x86_64/bin/java/usr/lib/jvm/java/usr/share/bash-completion/completions/java/usr/share/java[root@switch-sz-rvice-test ~]# ll /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.302.b08-0.el8_4.x86_64total 180-rw-r--r-- 1 root root 1522 jul 22 01:18 asmbly_exceptiondrwxr-xr-x 2 root root 4096 oct 4 00:29 bindrwxr-xr-x 3 root root 132 oct 4 00:29 includedrwxr-xr-x 4 root root 95 oct 4 00:29 jredrwxr-xr-x 3 root root 144 oct 4 00:29 lib-rw-r--r-- 1 root root 19274 jul 22 01:18 licendrwxr-xr-x 2 root root 204 oct 4 00:29 tapt-rw-r--r-- 1 root root 155003 jul 22 01:18 third_party_readme# 配置java_home[root@switch-sz-rvice-test ~]# vim /etc/profile# 在最后面添加上如下语句java_home=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.302.b08-0.el8_4.x86_64export java_home# 可以看到已经配置好了java_home了[root@switch-sz-rvice-test ~]# source /etc/profile[root@swit梦想卡ch-sz-rvice-test ~]# echo $java_home/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.302.b08-0.el8_4.x86_64[root@switch-sz-rvice-test ~]#
使用spring initializr创建一个springboot项目,参考项目:
springboot-remote-deploy-demo
package com.switchvov.springboot.remote.deploy.demo.controller;import lombok.extern.slf4j.slf4j;import org.springframework.web.bind.annotation.getmapping;import org.springframework.web.bind.annotation.pathvariable;import org.springframework.web.bind.annotation.requestmapping;import org.springframework.web.bind.annotation.restcontroller;/** * @author switch * @since 2021/10/3 */@restcontroller@requestmapping("/hello")@slf4jpublic class hellocontroller { @getmapping("/{name}") public string hello(@pathvariable("name") string name) { string hello = "hello " + name; log.info(hello); return hello; }}
package com.switchvov.springboot.remote.deploy.demo;import org.springframework.boot.springapplication;import org.springframework.boot.autoconfigure.springbootapplication;@springbootapplicationpublic class springbootremotedeploydemoapplication { public static void main(string[] args) { springapplication.run(springbootremotedeploydemoapplication.class, args); }}
$ curl http://127.0.0.1:8080/hello/worldhello world%
ps:从如上步骤,可以看到已经成功在本地执行了,接下来就是要让他远程部署到服务器上,并且可以调试。
右键点击
类旁边的启动符,弹出选项框,点击
springbootremotedeploydemoapplicationmodify run configuration...
选项,弹出界面如下图
左键点击run on
选项框,弹出选项框,点击ssh...
选项,弹出界面如下图
输入服务器地址host
,用户名urname
,点击next
按钮,跳转界面如下图
输入密码pa什么方ssword
(或者使用密钥),点击next
跳转界面如下图
这一步,主要是验证是否能登录上服务器,以及服务器上基本环境是否安装好,点击next
跳转界面如下图
successfully connected to root@120.78.218.44:22> pwd/rootcommand finished with exit code 0checking rsync connection.../usr/bin/rsync -n -e物业服务口号 "ssh -p 22 " root@120.78.218.44:root@120.78.218.44's password: dr-xr-x--- 190 2021/10/04 00:56:11 .process finished with exit code 0starting introspection for java...> echo ${shell}/bin/bashcommand finished with exit code 0> echo ${java_home}/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.302.b08-0.el8_4.x86_64command finished with exit code 0> java -versionopenjdk version "1.8.0_302"openjdk runtime environment (build 1.8.0_302-b08)openjdk 64-bit rver vm (build 25.302-b08, mixed mode)command finished with exit code 0introspection completed
可以看到项目部署路径project path on target
,jdk home路径jdk home path
以及jdk版本jdk version
都已经设置好了,点击finish
返回之前的界面
ps:可以自己修改部署路径之类的配置
可以看到远程服务器已经配置好了,点击ok
按钮配置完成
点击
的启动按钮,在启动日志中可以看到已经部署到服务器上,同时也能看到本地端口
springbootremotedeploydemoapplication63006
映射到了服务器的8080
端口。
$ curl http://localhost:63006/hello/worldhello world%
在本地访问映射到服务器的端口63006
,也能正常访问。
ps:可以启动,当然也可以进行调试。
在远程服务器上,可以看到
已经被部署在
springboot-remote-deploy-demo/root
路径下了,且访问
会正确返回
http://127.0.0.1:8080/hello/worldhello world
。
[root@switch-sz-rvice-test ~]# pwd/root[root@switch-sz-rvice-test ~]# lltotal 4drwxr-xr-x 38 root root 4096 oct 4 01:08 springb描写春天景色的一段话oot-remote-deploy-demo[root@switch-sz-rvice-test ~]# curl http://127.0.0.1:8080/hello/worldhello world[root@switch-sz-rvice-test ~]#
本文发布于:2023-04-05 07:08:39,感谢您对本站的认可!
本文链接:https://www.wtabcd.cn/fanwen/zuowen/0113dd72b1672eb3a4138f3a151685b7.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文word下载地址:idea怎么配置jdk环境(idea配置jdk环境变量).doc
本文 PDF 下载地址:idea怎么配置jdk环境(idea配置jdk环境变量).pdf
留言与评论(共有 0 条评论) |