找回密码
 立即注册
首页 业界区 安全 项目部署-(一)Linux部署SpringBoot项目

项目部署-(一)Linux部署SpringBoot项目

簑威龙 2025-6-1 00:08:14
  我们服务端开发工程师学习Linux系统的目的就是将来我们开发的项目绝大部分情况下都需要部署在Linux系统中。那么在本系列文章,我们将通过两种方式,来部署项目,分别是:手动部署项目 和 基于shell脚本自动部署。
 
一、 Linux手动部署SpringBoot项目


  步骤1. 将IntelliJ IDEA中开发SpringBoot项目打成jar包
项目是springboot项目
可以在本地的idea中先启动当前的工程,然后访问一下,看看工程是否正常访问。
执行package指令,进行打包操作,将当前的springboot项目,打成一个jar包。
  步骤2. 将jar包上传到Linux服务器
通过 rz 指令,将打好的jar包上传至Linux服务器的 /usr/local/app 目录下。 先执行指令创建app目录。
 
  1. A. 在/usr/local下创建目录app
  2. mkdir /usr/local/app
  3. B. 切换到app目录下
  4. cd /usr/local/app
  5. C. 执行指令,进行jar包上传
  6. rz
复制代码
 
 
 
  此时这个jar包就上传到 /usr/local/app 目录了。
  步骤3. 启动SpringBoot程序
  由于我们的项目已经打成jar包上传上来到Linux服务器,我们只需要运行这个jar包项目就启动起来了,所以只需要执行如下指令即可:
  1. java -jar helloworld-1.0-SNAPSHOT.jar
复制代码
 
 

注意: 由于安装的Tomcat在启动时,会占用端口号8080,而当前springboot项目我们没有配置端口号,默认也是8080,所以我们要想启动springboot项目,需要把Tomcat停止掉。
 
  步骤4. 检查防火墙,确保8080端口对外开放,访问SpringBoot项目
  1. firewall-cmd --zone=public --list-ports
复制代码
 

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

  步骤5. 访问测试
http://192.168.138.130:8080/hello
  步骤6. 后台运行项目
  当前这个工程我们已经部署成功了,并且我们也可以访问项目了。但是这个工程目前是存在问题的,就是当前我们项目启动的这个窗口被霸屏占用了,如果我们把这个窗口关闭掉(或ctrl+c),当前服务也就访问不到了。
  目前程序运行的问题:
    1). 线上程序不会采用控制台霸屏的形式运行程序,而是将程序在后台运行
    2). 线上程序不会将日志输出到控制台,而是输出到日志文件,方便运维查阅信息
  后台运行程序:
  要想让我们部署的项目进行后台运行,这个时候我们需要使用到linux中的一个命令 nohup ,接下来,就来介绍一下nohup命令。
 
  1. nohup命令:英文全称 no hang up(不挂起),用于不挂断地运行指定命令,退出终端不会影响程序的运行
  2. 语法格式: nohup Command [ Arg … ] [&]
  3. 参数说明:
  4. ​ Command:要执行的命令
  5. ​ Arg:一些参数,可以指定输出文件
  6. ​ &:让命令在后台运行
  7. 举例:
  8. ​ nohup java -jar boot工程.jar &> hello.log &
  9. ​ 上述指令的含义为: 后台运行 java -jar 命令,并将日志输出到hello.log文件
复制代码
 
  那么经过上面的介绍,我们可以推测中,我们要想让当前部署的项目后台运行,就可以使用下面的指令:
  1. nohup java -jar helloworld-1.0-SNAPSHOT.jar &> hello.log &
复制代码
 
 

这样的话,我们的项目就已经启动成功了,我们可以通过ps指令,查看到系统的进程。
  1. ps -ef|grep java
复制代码
 
 

接下来,我们再次访问我们的项目,来看看服务是否可用。
http://192.168.138.130:8080/hello
 
  步骤7). 停止SpringBoot项目
查询Java进程:
  1. ps -ef|grep java
复制代码
 
 
杀死该进程:
  1. kill -945199
复制代码
 




来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
您需要登录后才可以回帖 登录 | 立即注册