1、进入/etc/systemd/system目录,并创建一个名为spring-boot-app.service
的新服务文件。
sudo vi /etc/systemd/system/spring-boot-app.service
2、将下面的配置内容复制到 spring-boot-app.service
文件中,并保存。
[Unit]
Description=My Spring Boot App
After=syslog.target
[Service]
User=username
ExecStart=/usr/bin/java -jar /path/to/spring-boot-app.jar
SuccessExitStatus=143
[Install]
WantedBy=multi-user.target
其中,username
是你要用来运行Spring Boot应用程序的用户名,/path/to/spring-boot-app.jar
是你的Spring Boot应用程序的路径。
3、重新加载所有系统服务配置。
sudo systemctl daemon-reload
4、启动服务并将其设置为开机启动。
sudo systemctl enable spring-boot-app.service
sudo systemctl start spring-boot-app.service
5、相关命令
启动服务
sudo systemctl start spring-boot-app.service
停止服务
sudo systemctl stop spring-boot-app.service
重启服务
sudo systemctl restart spring-boot-app.service
检查服务状态
sudo systemctl status spring-boot-app.service
6、相关解释
systemd service文件包含以下三个部分:
-
[Unit]
:在这个部分中,描述Service的信息,如名称、描述和启动顺序。其中,“Description”是可选的,一般用于描述服务的作用,可以为空。而"After"指定了该服务应该在哪一个其他task之后启动,本例中就是在syslog.target task加载之后执行。 -
[Service]
:这部分定义了运行systemd服务时需要的详细信息。例如“User”字段指定了以哪个用户身份来启动服务,“ExecStart”表示服务“主程序”的命令,在这里我们指定Java进行系统命令启动,并通过给出Spring-Boot JAR的路径和文件名来提供启动信息。SuccessExitStatus=143
指定如果服务停止,使其在退出之前向系统报告成功(而不是失败)。143是kill命令发送给进程时的SIGTERM信号的减去128的值。 -
[Install]
:这个部分决定了在哪个级别下启动这个服务,WantedBy=multi-user.target表明这个服务会在Linux多用户模式下启动。文章来源:https://www.toymoban.com/news/detail-455769.html
如此设置的Systemd 服务,它将会使用指定的用户运行一个jar文件,以确定Jar文件为最重要的服务组件(除了Java本身),并仅在系统已经准备好之后才启动。文章来源地址https://www.toymoban.com/news/detail-455769.html
到了这里,关于Linux环境中,通过systemd服务将Spring Boot Jar包设置为开机自启动的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!