CentOS7 SpringBoot 注册服务

场景:当我使用springboot开发完我的项目的时候,我使用jar包的方式打包,并准备放到服务器上运行,但是出现了一个困扰,就是当我使用java -jar命令来运行我的项目的时候,项目并不能像redis那样设置后台运行,只要我关闭当前操作的shell会话,那么该项目进程就会被终止,那么我该怎样使其能在后台运行而不受我当前会话的影响呢?CentOS7的systemd注册服务就能解决这个问题。

1.进入/etc/systemd/system目录

[root@iZ2ze9twtxjrbirmldp9owZ software]# cd /etc/systemd/system

2.创建服务

[root@iZ2ze9twtxjrbirmldp9owZ system]# touch zaomianbao.service

3.服务设置

[Unit]
Description=zaomianbao
[Service]
ExecStart= /software/jdk1.8.0_171/bin/java -jar /software/demo-0.0.1-SNAPSHOT.jar
[Install]
WantedBy=multi-user.target

根据你自己的情况修改Description和ExecStart的内容,我这里叫zaomianbao是根据我的域名来设置的,你自己根据自己的喜好,我这里的ExecStart是java -jar的执行命令,这是启动我的服务的关键。

4.开启服务

[root@iZ2ze9twtxjrbirmldp9owZ system]# systemctl start zaomianbao.service

我们来访问一下www.zaomianbao.com,看到服务启动成功
这里写图片描述
5.停止服务

[root@iZ2ze9twtxjrbirmldp9owZ system]# cd /etc/systemd/system

我们再来访问一下www.zaomianbao.com,发现已经无法访问,服务成功停止
这里写图片描述
6.服务状态

[root@iZ2ze9twtxjrbirmldp9owZ system]# systemctl status zaomianbao 

7.查看日志

[root@iZ2ze9twtxjrbirmldp9owZ system]# journalctl -u zaomianbao
-- Logs begin at Thu 2018-06-21 03:17:47 CST, end at Thu 2018-06-21 11:38:22 CST. --
Jun 21 11:14:09 iZ2ze9twtxjrbirmldp9owZ systemd[1]: Started zaomianbao.
Jun 21 11:14:09 iZ2ze9twtxjrbirmldp9owZ systemd[1]: Starting zaomianbao...
Jun 21 11:14:12 iZ2ze9twtxjrbirmldp9owZ java[19278]: .   ____          _            __ _ _
Jun 21 11:14:12 iZ2ze9twtxjrbirmldp9owZ java[19278]: /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
Jun 21 11:14:12 iZ2ze9twtxjrbirmldp9owZ java[19278]: ( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
Jun 21 11:14:12 iZ2ze9twtxjrbirmldp9owZ java[19278]: \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
Jun 21 11:14:12 iZ2ze9twtxjrbirmldp9owZ java[19278]: '  |____| .__|_| |_|_| |_\__, | / / / /
Jun 21 11:14:12 iZ2ze9twtxjrbirmldp9owZ java[19278]: =========|_|==============|___/=/_/_/_/
Jun 21 11:14:12 iZ2ze9twtxjrbirmldp9owZ java[19278]: :: Spring Boot ::       (v1.5.10.RELEASE)
Jun 21 11:14:13 iZ2ze9twtxjrbirmldp9owZ java[19278]: 2018-06-21 11:14:13.123  INFO 19278 --- [           main] 

8.设置开机启动

[root@iZ2ze9twtxjrbirmldp9owZ system]# systemctl enable zaomianbao
Created symlink from /etc/systemd/system/multi-user.target.wants/zaomianbao.service to /etc/systemd/system/zaomianbao.service.
[root@iZ2ze9twtxjrbirmldp9owZ system]# 

总结

当然我们也可以使用init.d来注册服务,如果用Docker容器部署当然也就没这个问题了。

猜你喜欢

转载自blog.csdn.net/weixin_37490221/article/details/80758276