Centos7 部署 Springboot步骤,小白详细教程,全图
Posted 井底知蛙
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Centos7 部署 Springboot步骤,小白详细教程,全图相关的知识,希望对你有一定的参考价值。
1,打开idea命令行,进行项目打包
打包命令:
mvn clean package -DskipTests
命令解释:
clean 先清空当前class文件,
package进行项目打包
-DskipTests 跳过系统中的测试Test文件
出现BUILD SUCCESS说明打包成功。
成功后打成 的jar包目录如图所示
2 通过Xftp或者其他软件将jar包扔到服务器上
2.1 通过xshell连接centos,查询当前正在运行的java程序
查询命令:
ps -ef |grep java
第一个是正在运行的java程序,第二个是当前我们这条查询语句的进程,所以第二个不用管。
可以看到第一个的进程id 为 6255,所以我们要先将这个进程给杀掉再运行当打包的项目。
这样做是为了避免端口冲突。如果是第一次运行或者项目端口号和目前运行的java程序不一致的话可以忽略此步骤。
杀掉项目进程命令:
kill -9 6255
杀掉进程之后再上上一条语句查询的话就会发现只有一条搜索进程了,如果还是有两个进程那就是没杀掉,再试一次。
3、运行项目
注意:在Linux系统中不能通过 java -jar xxx.jar来运行项目,因为这样运行的话关系xshell连接的话项目的进程就自动掉了,所以这种不能用。
解决办法
在jar包文件所在的目录执行以下命令:
nohup java -jar springboot-0.0.1-SNAPSHOT.jar >nohup 2>&1 &
nohup: 不挂断的执行命令,忽略所有的挂断信号。 运行后台命令 最后加 &
在jar目录下会生成一个nohup.out文件,默认的log输出到这里了。
命令解释
以上命令是不输出启动日志的,运行后会只输出一个运行的进程号。
想要输出启动日志可以这样:
java -jar xx.jar > log.file 2>&1 &
这里启动信息就输出到了日志文件上,注意的是log文件需要先创建chmod授权
可以给日志一个777授权,测试阶段无所谓:
chmod 777 -R /home/logs
2>&1含义
& 1 更准确的说是文件描述符 1,
而1 一般代表的就是STDOUT_FILENO,实际上这个操作就是一个dup2(2)调用
.他标准输出到all_result ,然后复制标准输出到文件描述符2(STDERR_FILENO), 其后果就是文件描述符1和2指向同一个文件表项,也可以说错误的输出被合并了
.其中0表示键盘输入 1表示屏幕输出 2表示错误输出.把标准出错重定向到标准输出,然后扔到/DEV/NULL下面去。通俗的说,就是把所有标准输出和标准出错都扔到垃圾桶里面。
值 | 含义 |
---|---|
0 | 标准输入(一般是键盘) |
1 | 标准输出(一般是显示屏,准确的说是用户终端控制台) |
2 | 标准错误(出错信息输出) |
最后一个& , 是让该命令在后台执行
如此:项目就可以正常运行了!!!
以上是关于Centos7 部署 Springboot步骤,小白详细教程,全图的主要内容,如果未能解决你的问题,请参考以下文章
Jenkins+Docker 一键自动化部署 SpringBoot 项目
Jenkins+Docker 一键自动化部署 SpringBoot 项目
Jenkins+Docker 一键自动化部署 SpringBoot 项目
项目部署Vue+SpringBoot前后分离个人博客项目实战部署保姆教程 Linux+docker安装部署启动一条龙教程