论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
应用中心
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
qidao123.com技术社区-IT企服评测·应用市场
»
论坛
›
主机系统
›
linux
›
通过内网穿透免费部署我们的springboot+vue项目 实现跟 ...
通过内网穿透免费部署我们的springboot+vue项目 实现跟服务器一样的效果 ...
勿忘初心做自己
论坛元老
|
2024-10-17 06:38:15
|
显示全部楼层
|
阅读模式
楼主
主题
1847
|
帖子
1847
|
积分
5541
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
前文讲到通过内网穿透能够实现远程访问个人电脑的静态资源。本文将讲解通过内网穿透实现远程访问本地的项目,实现跟部署到服务器一样的效果:前文链接:通过内网穿透实现远程访问个人电脑资源具体过程(免费)(NatApp + Tomcat)-CSDN博客
如果碰到tomcat启动闪退题目可以查看博主的:Tomcat 启动闪退题目-CSDN博客
目录
前言
1. 后端SpringBoot项目
1.1 将springboot项目打成war包
1.2 部署到本地的tomcat
2.1 打包Vue项目并完成内网穿透
前言
既然能够通过内网穿透访问到本地的静态资源,那么就能够通过内网穿透访问到本地的运行的项目。
友谊提示:最悦目一下之前的文章:通过内网穿透实现远程访问个人电脑资源具体过程(免费)(NatApp + Tomcat)-CSDN博客
1. 后端SpringBoot项目
1.1 将springboot项目打成war包
在打包之前要对我们的pom.xml文件进行修改,首先要设置打包格式,设置成war,因为默认是打成jar包
<packaging>war</packaging>
复制代码
之后要移除springboot自带的tomcat容器,因为后续是使用到外部的tomcat容器(注意:我们移除之后springboot项目就不能够正常启动了,以是我们必须要注视掉才能正常启动,打包的时间在取消注释)
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<!-- 移除自带的tomcat-->
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</exclusion>
</exclusions>
</dependency>
复制代码
因为我们移除了tomcat容器会少一个servlet-api的一个依赖,以是我们必须引入以下
<!-- 移除tomcat容器会缺少servlet依赖-->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<scope>provided</scope>
</dependency>
复制代码
接下来还需要对我们的主要启动类进行修改
@SpringBootApplication
public class Application extends SpringBootServletInitializer {
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(Application.class);
}
public static void main(String[] args) {
SpringApplication.run(Application.class,args);
}
}
复制代码
接下来就来到了打包环节,点击右侧的maven选项,选择lifecycle,点击clean(清除target),完成之后在点击install(确认依赖乐成下载),末了点击package(打包)
1.2 部署到本地的tomcat
找到我们的war包,将其复制到tomcat的webapps目录下
可以对war进行一个重命名,可以命名短一点,我这里重命名为light,然后将其解压。解压之后light目录结构如下:
解压之后就可以删除war包了。
我们接下来进行测试,查看通过tomcat能否正常启动我们的springboot项目。
打开tomcat的bin目录,在该目录输入cmd打开控制台输入startup命令启动tomcat。
正常启动!!!在欣赏器输入localhost:tomcat端口号,我tomcat的端口号是3000(默认为8080),如果想要访问到我们的springboot项目,就需要带上我们刚刚解压的路径名称,好比我这里的light项目的访问路径为:localhost:3000/light
需要注意的是:tomcat的服务器的端口会覆盖springboot项目的端口,以是springboot项目的端口号是没有作用的,我们访问项目是通过他在tomcat的文件夹名称来访问的,包罗你设置的项目名称都是没用的,一切以tomcat的文件名称为准
我springboot项目有如下的controller
@RestController
@RequestMapping("/test")
public class TestController {
@GetMapping("/getstr")
public String test(){
return "hello world";
}
}
复制代码
以是我们通过访问该路径来测试是否部署乐成,是否能够访问到:输入以下路径:
localhost:3000/light/test/getstr
乐成访问到!!!
2.1 通过内网穿透远程访问到后端项目
启动NatApp,(具体内容参考我上一篇博客:通过内网穿透实现远程访问个人电脑资源具体过程(免费)(NatApp + Tomcat)-CSDN博客)
在欣赏器中输入:网址+/light/test/getstr, 能够访问到!!!就算是其他电脑/手机设备都能够访问到,这就实现了将springboot部署到服务器一样的效果
2.1 打包Vue项目并完成内网穿透
在打包Vue项目的全过程中千万不要将natapp给停止了,因为使用的是免费隧道,每次重新打开我们natapp提供的网址就会变换,一变化就需要修改Vue项目的请求路径
在打包Vue项目之前,需要修改前端向后段发送ajax/axios请求的路径,因为我们后端的地址已经变成了 http://bs9p3v.natappfree.cc/light 而不再是127.0.0.1:8088/app 这种本地访问路径了
然后前端还需要设置一个东西,就是开启其他ip地址访问项目的设置
disableHostCheck:true
复制代码
在vue项目的根路径下执行npm run build命令对vue项目进行打包,会在根目录下天生一个dist文件夹,就是我们打包后的文件(dist文件夹就跟我们war解压之后是一样的效果,都是编译之后的内容)
在tomcat的webapps的文件夹中新建一个front文件夹用来存放dist文件夹中的内容
将dist文件夹中的所有内容直接复制到webapps下的front文件夹
然后重启我们本地的tomcat(千万不要把natapp停止了):直接关掉tomcat的命令窗口,重新进入tomcat的bin目录下,打开cmd控制台输入startup命令运行tomcat即可
乐成启动tomcat之后,就来测试能否访问到我们的vue项目,以及vue项目能否向后端发送请求,在欣赏器输入: http://bs9p3v.natappfree.cc/front。
因为是免费的隧道,以是可能比较慢。
乐成访问到。而且也能够正常的向后端发送请求!!
至此我们就通过内网穿透实现了将项目部署到服务器一样的效果了(
用完之跋文得将natapp关闭了
)
鸟欲高飞先振翅,人求上进先读书。——名言出处:李苦禅
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复
使用道具
举报
0 个回复
倒序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
回帖后跳转到最后一页
发新帖
回复
勿忘初心做自己
论坛元老
这个人很懒什么都没写!
楼主热帖
新一代企业级安全OneDNS
记一次有意思的业务实现 → 单向关注是 ...
集合论第6-8章
将git仓库从submodule转换为subtree ...
redis 工具类
Python 开发 漏洞的批量搜索与利用.(G ...
DNS协议
反射 p1 反射机制
Java 代理模式
[kubernetes]服务健康检查
标签云
渠道
国产数据库
集成商
AI
运维
CIO
存储
服务器
浏览过的版块
系统集成
快速回复
返回顶部
返回列表