SpringBoot .jar .war打成Linux service

本文介绍如何在Linux环境下使SpringBoot应用作为系统服务自动运行,包括创建服务文件、配置参数、启动与查看服务状态的方法,确保服务即使在断开连接或系统重启后仍能持续运行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我们的Springboot项目一般部署到Linux后,需要启动

比如:java -jar feitian.war 

这个时候我们的服务是启动了的,但是有个问题就是。一旦我们的连接终端断开,也就是我们与服务器的session失效后,不好意思。这个终端打开的进程会被结束,此时我们的服务是被关闭了的。

那这个时候我们需要来解觉这个问题,那就是将我们的spring boot做成一个服务。

 

首先我们创建一个:feitian.service 的文件

文件内写入我们要执行的命令:java -jar feitian.war


[Unit]
Description=feitian
After=syslog.target

[Service]
ExecStart=/usr/local/jdk1.8.0_172/bin/java -jar /usr/local/webapps/feitian.war
SuccessExitStatus=143
Restart=on-failure

[Install]
WantedBy=multi-user.target

文件创建完成后,我们保存改文件,将文件cp到/etc/systemd/system/

[root@izwz99z5o9dc90keftqhlrz webapps]# touch feitian.service
[root@izwz99z5o9dc90keftqhlrz webapps]# vi feitian.service 
[root@izwz99z5o9dc90keftqhlrz webapps]# cp feitian.service /etc/systemd/system
[root@izwz99z5o9dc90keftqhlrz webapps]# cd /etc/systemd/system

这个时候我们就可以启动我们的服务了:

[root@izwz99z5o9dc90keftqhlrz ~]# systemctl restart feitian
<!---启动我们的服务---->
<!---查看我们的服务---->

[root@izwz99z5o9dc90keftqhlrz ~]# systemctl status feitian
● feitian.service - feitian
   Loaded: loaded (/etc/systemd/system/feitian.service; disabled; vendor preset: disabled)
   Active: active (running) since Mon 2018-12-03 16:56:34 CST; 2s ago
 Main PID: 7053 (java)
   CGroup: /system.slice/feitian.service
           └─7053 /usr/local/jdk1.8.0_172/bin/java -jar /usr/local/webapps/feitian.war

Dec 03 16:56:34 izwz99z5o9dc90keftqhlrz systemd[1]: Started feitian.
Dec 03 16:56:34 izwz99z5o9dc90keftqhlrz systemd[1]: Starting feitian...
Dec 03 16:56:35 izwz99z5o9dc90keftqhlrz java[7053]: Spring boot start 开始了........
Dec 03 16:56:37 izwz99z5o9dc90keftqhlrz java[7053]: .   ____          _            __ _ _
Dec 03 16:56:37 izwz99z5o9dc90keftqhlrz java[7053]: /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ 
Dec 03 16:56:37 izwz99z5o9dc90keftqhlrz java[7053]: ( ( )\___ | '_ | '_| | '_ \/ _` | \ \ 
Dec 03 16:56:37 izwz99z5o9dc90keftqhlrz java[7053]: \\/  ___)| |_)| | | | | || (_| |  ) ) 
Dec 03 16:56:37 izwz99z5o9dc90keftqhlrz java[7053]: '  |____| .__|_| |_|_| |_\__, | / / / 
Dec 03 16:56:37 izwz99z5o9dc90keftqhlrz java[7053]: 
Dec 03 16:56:37 izwz99z5o9dc90keftqhlrz java[7053]: :: Spring Boot ::       (v1.5.10.RELEASE)

服务就搞定了

系统重启自动启动

[root@iZ23evimvf8Z ~]# systemctl enable redis

注意

小调节:如果启动不了出现异常,可以用  systemctl status feitian 命令去查看

注意一个小点,如果service文件有修改 需要使用 systemctl daemon-reload    指令 加载一下,告诉systemd系统。

/usr/local/jdk1.8.0_172/bin/java 为Linux的java安装路径,可通过whereis java指令查看

[root@izwz99z5o9dc90keftqhlrz ~]# whereis java
java: /usr/local/jdk1.8.0_172/bin/java
[root@izwz99z5o9dc90keftqhlrz ~]# 

怎么启动服务和结束服务我就不写了。

 

另外的一种方式方法一:

nohup java -jar test.jar &

方法二:

nohup java -jar test.jar >temp.txt &

方法三:

nohup $JAVA_HOME/bin/java -XX:PermSize=128M -XX:MaxPermSize=256M -jar /data/InstrintTask/InstrintTask.jar &

查看某端口占用的线程的pid

netstat -nlp | grep :80

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值