基于SpringBoot的SSMP整合案例(在Linux中发布项目的注意事项与具体步骤步骤)

前言与注意

复制代码
	这几天在Linux中上线之前的小项目时,遇到了很多的问题,Linux镜像的选择,jdk,
mysql在linux中的下载,使用finallshell连接linux,使用tomcat连接linux中的数据库........
在下面的注意事项中我会将我所遇到的问题提一下。

注意事项

1.Windows中打包的springboot项目是64位的,因此我们选择的Linux镜像也必须是64位的。

2.Linux中使用的jdk版本不得低于Windows下jdk版本。

3.linux的防火墙必须打开(否则Navicat连接数据库,Windows下访问项目都会失败)。

暂时关闭可用systemctl stop firewalld.service。

4.linux中数据库名,表名,数据库密码必须和Springboot项目中配置的一致。

5.使用finallshell连接的Linux用户一定要是root账户,否则无法正常导入打包的项目。

具体步骤

复制代码
在maven中将项目打包,注意Springboot项目一定要有如下插件
xml 复制代码
<plugin>
	<groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-maven-plugin</artifactId>
	<version>3.1.4</version>
</plugin>

如果没有该插件,打包的项目在linux中无法正常启动。

复制代码
启动linux,使用finallshell连接(方便各种包的导入,与复制粘贴各种语句)


复制代码
	切目录,放到  /下的usr下的local,创建app目录,将打包好的Springboot项目导入app目录下,在finallshell中
切好目录后选择最后一个按钮,选择上传即可。
复制代码
导入后,输入以下指令,启动项目。(-jar后面是你打包文件的包名)
java 复制代码
 java -jar springboot_07_ssmp-0.0.1-SNAPSHOT.jar
复制代码
去windows下的浏览器访问,
记得ip不是127.0.0.1(localhost)而是你linux的ip,
如果无法访问检查是不是linux的防火墙没有关闭。
访问过程不再展示。

问题:这种访问,会将整个屏幕霸占,正常情况下我们可以使用ctrl+c关闭当前项目,如果我们清屏后则无法通过这种方法

1.如何不霸屏?

2.如何采用另外一种方法(不使用ctrl+c)杀死,刚才启动的项目?

复制代码
1.nohup java -jar springboot_07_ssmp-0.0.1-SNAPSHOT.jar > server.log 2>&1 & 
 执行后可以看到进程号,可执行相应指令杀死进程。

这段命令是在Linux环境下运行一个Java的Spring Boot应用程序,并将输出重定向到一个名为server.log的文件中。让我逐步解释一下:

nohup: 这个命令可以在你退出当前登录会话后继续在后台运行正在执行的命令或程序,即使你断开了与服务器的连接。

java -jar springboot_07_ssmp-0.0.1-SNAPSHOT.jar: 这是要运行的Java程序的命令。java -jar用于执行一个打包好的Java应用程序,springboot_07_ssmp-0.0.1-SNAPSHOT.jar是要执行的Java可执行文件。

server.log 2>&1: 这部分是将标准输出(stdout)和标准错误输出(stderr)都重定向到一个叫做server.log的文件中。>表示重定向标准输出,2>&1表示将标准错误输出重定向到标准输出,也就是和标准输出一起输出到server.log文件中。

&: 在命令的末尾加上&符号,表示让这个命令在后台运行,这样你就可以继续在同一个终端窗口中执行其他命令了。

因此,这段命令的作用是在后台运行一个Java的Spring Boot应用程序,并将所有的输出(包括标准输出和标准错误输出)保存到server.log文件中(该文件在启动项目的同级目录下)。

复制代码
如何查看目前所有运行的进程呢?
使用ps -ef | grep "java -jar"查询到进程号。

这条命令的含义是在Linux系统中,使用ps -ef列出当前所有进程的详细信息,然后通过管道|将这些信息传递给grep "java -jar"进行过滤。

具体来说:

ps命令用于显示当前进程的状态。

-ef选项表示显示所有进程的详细信息,包括命令行参数。

|管道符用于将前一个命令的输出作为后一个命令的输入。

grep "java -jar"用于在ps命令的输出中过滤出包含"java -jar"字符串的行,从而找到正在运行的Java进程。

复制代码
执行 kill -9 进程号
可以杀死相应进程
复制代码
上面简述了大致步骤,如有错误欢迎指正~
相关推荐
maosheng114617 分钟前
RHCSA的第一次作业
linux·运维·服务器
wifi chicken1 小时前
Linux 端口扫描及拓展
linux·端口扫描·网络攻击
旺仔.2911 小时前
Linux 信号详解
linux·运维·网络
放飞梦想C1 小时前
CPU Cache
linux·cache
颜酱2 小时前
DFS 岛屿系列题全解析
javascript·后端·算法
Hoshino.412 小时前
基于Linux中的数据库操作——下载与安装(1)
linux·运维·数据库
小码哥_常2 小时前
Java后端定时任务抉择:@Scheduled、Quartz、XXL - Job终极对决
后端
uzong3 小时前
Skill 被广泛应用,到底什么是 Skill,今天详细介绍一下
人工智能·后端·面试
小码哥_常3 小时前
Kafka平替!SpringBoot+Redis Stream+消费组打造极致消息队列
后端
播播资源4 小时前
CentOS系统 + 宝塔面板 部署 OpenClaw源码开发版完整教程
linux·运维·centos