开发SpringBoot项目并打成jar包

  • 项目是一个很简单的springboot项目,结构如下:

content-651

  • 可以在本地的idea中先启动当前的demo工程,然后访问一下,查看工程是否正常访问。

content-652

  • 执行package指令,进行打包操作,将当前的springboot项目,打成一个jar包。

content-653

将jar包上传到Linux服务器

  • 通过rz指令,将打好的jar包上传至Linux服务器。
1
2
3
4
5
6
7
8
A. 在/usr/local下创建目录app
mkdir /usr/local/app

B. 切换到app目录下
cd /usr/local/app

C. 执行指令,进行jar包上传
rz

content-654

  • 此时这个jar包就上传到 /usr/local/app 目录了。

content-655

启动SpringBoot程序

  • 项目已经打成jar包上传到Linux服务器,启动项目:
1
java -jar helloworld-1.0-SNAPSHOT.jar

content-656

注意: Tomcat在启动时,会占用端口号8080,而当前springboot项目没有配置端口号,默认也是8080,所以要想启动springboot项目,需要把运行的Tomcat停掉。

检查防火墙

1
firewall-cmd --zone=public --list-ports

content-657

  • 如果防火墙没有放开8080端口,还需要放开对应的端口号,执行如下指令:
1
firewall-cmd --zone=public --add-port=8080/tcp --permanent

访问测试

http://192.168.138.130:8080/hello

content-658

后台运行项目

  • 当前这个demo工程已经部署成功,并且也可以访问项目了。
    但是这个工程目前是存在问题的,就是项目启动的窗口被霸屏占用了,
    如果把这个窗口关闭掉(或ctrl+c),当前服务也就访问不到了。

content-659

content-65-10

目前程序运行的问题:

  • 线上程序不会采用控制台霸屏的形式运行程序,而是将程序在后台运行。

  • 线上程序不会将日志输出到控制台,而是输出到日志文件,方便运维查阅信息。

后台运行程序

  • 要想让部署的项目进行后台运行,需要使用到linux中的一个命令nohup

nohup命令:英文全称 no hang up(不挂起),用于不挂断地运行指定命令,退出终端不会影响程序的运行

语法格式: nohup Command [ Arg … ] [&]

参数说明:

​ Command:要执行的命令

​ Arg:一些参数,可以指定输出文件

​ &:让命令在后台运行

举例:

​ nohup java -jar boot工程.jar &> hello.log &

​ 上述指令的含义为: 后台运行 java -jar 命令,并将日志输出到hello.log文件

  • 可以使用下面的指令,让当前部署的项目后台运行:
1
nohup java -jar helloworld-1.0-SNAPSHOT.jar &> hello.log &

content-65-11

  • 项目已经启动成功了,可以通过ps指令,查看到系统的进程。

content-65-12

  • 访问项目,查看服务是否可用。

content-65-13

停止SpringBoot项目

content-65-14