发布Spring boot.jar 项目到服务器之后台启动

第一步:在pom文件中引入maven管理插件 spring-boot-maven-plugin

使用maven把工程打成jar包

在命令行执行jar,即可发布springboot应用了

在linux中使用如下命令:java -jar springboot.jar 即可执行该项目了

那么问题来了,你发布项目后,只要关闭启动窗口,服务就会停止,所以重点来了,后台启动项目

 

第二步:在Linux上创建文本,spring.service,本人是在windows上创建文本,在上传到Linux中,效果一样

编辑的语句如下:

 

[Unit]
Description=abcd service
After=syslog.target

[Service]
Type=simple
ExecStart= /usr/bin/java -jar /home/app/abcd.jar

[Install]
WantedBy=multi-user.target

保存起来,为 abcd.service文件
说明
Description 服务描述

/usr/bin/java java路径(我这里是绝对路径,可以使用其他可执行java的路径)
/home/app/abcd.jar 可执行jar包的路径
然后将文本文件保存成后缀名为.service
上面的文件保存之后 可以是abcd.service

3.上传可执行jar包和.service安装文件
  jar包程序文件上传到自定义的位置(我们会在每个系统用户下定义一个叫app的文件夹将jar包保存在此文件夹)
  .service文件上传到系统/etc/systemd/system 目录下(本人用的是centos7系统,其他系统大同小异酌情处理)(如果你对linux文本编辑熟练的话 可以直接创建文件进行编辑)
  注意编码要一致(验证是否一致只需在linux服务器上打开.service文件看是都和windows一致是否有乱码)

4.在部署服务器上执行以下命令(centos7)
  刷新服务配置文件
  systemctl daemon-reload
  
  服务设置为开机启动
  systemctl enable abcd.service
  
  启动服务
  systemctl start  abcd.service

  停止服务
  systemctl stop abcd.service

  查看服务状态
  systemctl status  abcd.service

  
5.查看日志
  journalctl -u abcd.service
这样部署就可以免去打成war包部署而存在的多一块项目路径的问题同时也支持spring cloud 注册中心(其实也主要是为了使用spring cloud注册中心)
 

 

原文地址:https://www.cnblogs.com/bsw-zhen/p/11114167.html