基于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 进程号
可以杀死相应进程
复制代码
上面简述了大致步骤,如有错误欢迎指正~
相关推荐
aiden:)1 小时前
在Ubuntu系统如何让MySQL服务器支持远程连接
linux·mysql·adb·数据库系统
HAPPY酷1 小时前
linux安装mysql常出现的问题
linux·运维·服务器·python·mysql·adb
一切皆有迹可循4 小时前
IntelliJ IDEA中Spring Boot项目整合MyBatis:从零实现高效数据持久化
java·spring boot·intellij-idea·mybatis
字节源流5 小时前
【微服务】基础概念
后端·spring·spring cloud
獨枭6 小时前
使用 Spring Boot 快速构建企业微信 JS-SDK 权限签名后端服务
javascript·spring boot·企业微信
菜鸟起航ing8 小时前
【Java面试系列】Spring Boot中自动配置原理与自定义Starter开发实践详解 - 3-5年Java开发必备知识
java·spring boot·面试·自动配置·自定义starter
暮云星影8 小时前
十二、buildroot系统 adb登录权限设置
linux·arm开发·adb
HHONGQI1238 小时前
Linux 基础入门操作 前言 VIM的基本操作 2
linux·运维·服务器·vim
Asthenia04128 小时前
手搓Redis之为Zset而作的跳表实现逻辑梳理与面试问题解析
后端