千家信息网

如何安全地停止SpringBoot应用

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,本篇内容主要讲解"如何安全地停止SpringBoot应用",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"如何安全地停止SpringBoot应用"吧!主要有两
千家信息网最后更新 2026年11月02日如何安全地停止SpringBoot应用

本篇内容主要讲解"如何安全地停止SpringBoot应用",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"如何安全地停止SpringBoot应用"吧!

主要有两种方式:通过HTTP发送shutdown信号,或者通过service stop的方式

方式一:通过HTTP发送shutdown信号

该方式主要依赖Spring Boot Actuator的endpoint特性,具体步骤如下:

1. 在pom.xml中引入actuator依赖

org.springframework.boot

spring-boot-starter-actuator

2. 开启shutdown endpoint

Spring Boot Actuator的shutdown endpoint默认是关闭的,因此在application.properties中开启shutdown endpoint:

#启用shutdown

endpoints.shutdown.enabled=true

#禁用密码验证

endpoints.shutdown.sensitive=false

3. 发送shutdown信号

shutdown的默认url为host:port/shutdown,当需要停止服务时,向服务器post该请求即可,如: curl -X POST host:port/shutdown 将得到形如{"message":"Shutting down, bye..."}的响应

4. 安全设置

可以看出,使用该方法可以非常方便的进行远程操作,但是需要注意的是,正式使用时,必须对该请求进行必要的安全设置,比如借助spring-boot-starter-security进行身份认证:

pom.xml添加security依赖

org.springframework.boot spring-boot-starter-security

开启安全验证 在application.properties中变更配置,并

#开启shutdown的安全验证 endpoints.shutdown.sensitive=true #验证用户名 security.user.name=admin #验证密码 security.user.password=secret #角色 management.security.role=SUPERUSER

指定路径、IP、端口

#指定shutdown endpoint的路径 endpoints.shutdown.path=/custompath #也可以统一指定所有endpoints的路径——management.context-path=/manage—— #指定管理端口和IP management.port=8081 management.address=127.0.0.1

方式二:部署为Unix/Linux Service

该方式主要借助官方的spring-boot-maven-plugin创建"Fully executable" jar ,这中jar包内置一个shell脚本,可以方便的将该应用设置为Unix/Linux的系统服务(init.d service),官方对该功能在CentOS和Ubuntu进行了测试,对于OS X和FreeBSD,可能需要自定义。具体步骤如下:

1. 在pom.xml中引入插件:

org.springframework.boot

spring-boot-maven-plugin

true

e>

2. 设置为系统服务

将你的应用打成jar包,部署到服务器,假设部署路径为/var/app,包名为app.jar,通过如下方式将应该设置为一个系统服务: sudo ln -s /var/app/app.jar /etc/init.d/app

3. 赋予可执行权限:

chmod u+x app.jar

4. 以系统服务的方式管理

接下来,就可以使用我们熟悉的service foo start|stop|restart来对应用进行启停等管理了 sudo service app start|stop 命令将得到形如Started|Stopped [PID]的结果反馈

默认PID文件路径:/var/run/appname/appname.pid 默认日志文件路径:/var/log/appname.log

这可能是我们更熟悉也更常用的管理方式。

自定义参数

在这种方式下,我们还可以使用自定义的.conf文件来变更默认配置,方法如下:

在jar包相同路径下创建一个.conf文件,名称应该与.jar的名称相同,如appname.conf

在其中配置相关变量,如:JAVA_HOME=/usr/local/jdk JAVA_OPTS=-Xmx1024M LOG_FOLDER=/custom/log

安全设置

作为应用服务,安全性是一个不能忽略的问题,如下一些操作可以作为部分基础设置参考:

为服务创建一个独立的用户,同时最好将该用户的shell绑定为/usr/sbin/nologin

赋予最小范围权限:chmod 500 app.jar

阻止修改:sudo chattr +i app.jar

对.conf文件做类似的工作:chmod 400 app.conf,sudo chown root:root app.conf

到此,相信大家对"如何安全地停止SpringBoot应用"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

方式 安全 服务 应用 路径 文件 验证 系统 管理 信号 方法 用户 配置 相同 内容 名称 官方 密码 服务器 权限 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 伟宏互联网科技 互联网科技小贷 世界互联网领先科技成果 互联网 视角下的科技创新 互联网科技公司需要的职位 科技与互联网的利与弊 广州市恰铎互联网科技有限公司 互联网科技扶贫时间 想开互联网科技公司怎么样 朱啸虎曾投资哪些互联网科技企业 中科明德北京互联网科技 半导体是互联网高科技吗 广州有谷有贝互联网科技有限公司 普陀区互联网教育科技管理办法 容联科技互联网电商 广西科技产业互联网是什么 陕西彩京云互联网科技有限公司 10位科技互联网大佬 银川新华互联网科技学校招聘 互联网科技创业有什么好项目 科技类互联网 广州善班互联网科技 成都仁贤领冠互联网科技有限公司 云创客互联网科技公司 全球顶尖互联网科技公司 互联网科技股为什么大涨 珠海东科互联网科技有限公司 广州智享互联网科技 易租星互联网科技有限公司 前海云享互联网科技
0