基于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 进程号
可以杀死相应进程
复制代码
上面简述了大致步骤,如有错误欢迎指正~
相关推荐
王中阳Go8 分钟前
Agent 第一句就 500,我们查了三轮:入口日志少打了一个参数
后端·agent·ai编程
羑悻8 分钟前
穿越Docker内核迷雾:揭秘镜像分层存储的叠加态与卷挂载的多维空间穿梭技术
后端·docker·容器
励志不掉头发的内向程序员8 分钟前
从鼠标点击到画出一条线:CAD 交互层的状态机设计
后端·架构
用户EasyAdminBlazor14 分钟前
EasyAdminBlazor 日志系统源码解析:为什么数据库日志需要有界队列?
后端
Sylven15 分钟前
【DevOps 开发流程】问题+标签驱动开发,可视化你和AI的开发进度
后端
松就是我9029815 分钟前
Agent系统设计七条通用原则-CSDN
后端
1360967572316 分钟前
repo 与 index:站点目录该怎么切
后端
那就叫王师傅16 分钟前
AD基础学习01
后端
Daniel_12320 分钟前
轻量级站点监控面板 LightPing 开源啦
前端·后端·github
想风20 分钟前
A/B 测试怎么做?独立站转化率优化的完整实操步骤
前端·后端·github