IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Java知识库 -> 将SpringBoot项目打包并部署到服务器 -> 正文阅读

[Java知识库]将SpringBoot项目打包并部署到服务器

将SpringBoot项目打包并部署到服务器

该篇博文记录我手动部署SpringBoot项目的jar包到服务器上,和我遇到的一些坑和解决过程。

1.打包项目

image-20220512000504475

2.得到jar包

成功打包后,jar包会在 target 文件夹中

image-20220512000544507

3.单独运行jar包

这时候,这个jar包在有Java的环境下就可以直接在DOS窗口中启动了 (SpringBoot项目内置了Tomcat,不需要我们再配置)

image-20220512000744766

4.在服务器上运行jar包

若jar包能在本机DOS窗口中成功启动,我们就可以将这个jar包拉到服务器中了。(使用Xshell和Xftp远程操作服务器)

因为是jar包,所以是需要Java环境的,与开发环境相同。我这里是 jdk 1.8

可参考文章:https://blog.csdn.net/u010993514/article/details/82926514

image-20220512001647438

image-20220512001624124

5.防火墙开放端口

需要注意一个点,因为想要访问服务器(或虚拟机)内部的端口的话,是会被防火墙的卡住的。所以我们需要提前开放项目使用的那个端口,以供我们在本地访问。

我们这里的项目所用端口是 8099 端口,所以我们要开放 8099 端口。

可参考文章:https://blog.csdn.net/Honnyee/article/details/81535464

# 开放8099端口
firewall-cmd --zone=public --add-port=8099/tcp --permanent   (--permanent永久生效,没有此参数重启后失效)

# 添加8099端口外部访问权限(这样外部才能访问)
firewall-cmd --add-port=8099/tcp

# 重新载入,添加端口后重新载入才能起作用
firewall-cmd --reload

其余指令:

# 查看防火墙状态
systemctl status firewalld
# 查看开启了哪些端口
firewall-cmd --list-ports
# 查看端口
firewall-cmd --zone=public --query-port=80/tcp

6.在本地访问(爬坑)

然后就可以尝试在本地访问该项目了。

不出意外的话,在本地访问 服务器IP:项目端口/... 是可以访问到项目接口的。可是。。。还是出意外了。

image-20220511235657122

无法访问,就是单纯地访问不到服务器上的这个端口(我用虚拟机做了一样的步骤:能成功访问)。

再次检查服务器开放的端口:没毛病呀,8099 是开放了呀!

image-20220512003346135

我甚至将服务器内部的防火墙都关闭了,还是 嗯... 无法访问此页面

image-20220511235544222

image-20220511235657122

反正,就是端口开放的问题!!!!

然后突然受到一篇文章的启发:进入腾讯云服务器的控制台,这还有一个防火墙!??

而且,这里的防火墙开放的端口和我刚才在服务器内部开放的端口不一样。。。

image-20220512003657441

然后我就尝试在这也开放一次 8099 端口,然后在本地再请求一次服务器的 8099 端口。

image-20220511235936521

成功出现了这个页面!那就意味着访问成功了!

image-20220512004021446

尝试调用项目接口:(成功!!)

因为我的项目中有数据库,所以我还要把本地的数据库导入到服务器中。接口才能成功访问。

所以我们还需要在服务器中安装MySQL。

安装MySQL可参考文章:https://www.cnblogs.com/xsge/p/13827288.html

数据库数据:可以先将本地数据库导出为.sql文件,然后将该.sql文件拉到服务器上,然后再导入到服务器的数据库中。

image-20220512004149487

7.注意

切记:还需要在腾讯云服务器(可能每种服务器都需要)的控制台,开放相应端口

8.让jar包一直处于运行状态

之前我们都是直接用命令:

# 运行jar包
java -jar harmonyos-0.0.1-SNAPSHOT.jar

image-20220512001624124

这种方式是直接运行jar包,当你关闭远程连接时,它就被关闭了,相当于这个进程被杀死了。

可是部署一个项目,那它就应该一直处于运行状态,这样我们才能随时随地的调用API。

在服务器上(我这是centOS)想要让一个jar一直处于运行状态,需要让其在后台启动。

# 后台启动
nohup java -jar xxx.jar &

# 然后通过exit退出终端窗口
exit

image-20220513164448517

image-20220513164333902

  Java知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章      下一篇文章      查看所有文章
加:2022-05-14 09:49:17  更:2022-05-14 09:50:56 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 21:49:21-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码