Spring-Boot devtools项目自动重启
配置
#use shutdown curl -X POST -i 'http://127.0.0.1:8080/actuator/shutdown'
management.endpoints.web.exposure.include=shutdown
management.endpoint.shutdown.enabled=true
#management.endpoints.enabled-by-default=true
#Disable password authentication
#management.endpoint.shutdown.sensitive=false
##shutdown endpoint path
#management.endpoint.shutdown.path=/
#management.server.port=8080
#management.server.address=127.0.0.1
Spring Boot应用的启动和停止(Spring Boot应用通过start命令启动)
easonjim -- :: 浏览151 评论0 spring
配置
微服务
安全设置
Security
service 摘要: Spring Boot,作为Spring框架对“约定优先于配置(Convention Over Configuration)”理念的最佳实践的产物,它能帮助我们很快捷的创建出独立运行、产品级别的基于Spring框架的应用,大部分Spring Boot应用只需要非常少的配置就可以快速运行起来,是一个与微服务(MicroServices)相当契合的微框架。 Spring Boot,作为Spring框架对“约定优先于配置(Convention Over Configuration)”理念的最佳实践的产物,它能帮助我们很快捷的创建出独立运行、产品级别的基于Spring框架的应用,大部分Spring Boot应用只需要非常少的配置就可以快速运行起来,是一个与微服务(MicroServices)相当契合的微框架。 下面主要有两种方式进行Spring Boot的关闭:通过HTTP发送shutdown信号,或者通过service stop的方式。 一、通过HTTP发送shutdown信号关闭应用 该方式主要依赖Spring Boot Actuator的endpoint特性,具体步骤如下: 、在pom.xml中引入actuator依赖 <dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency> 、开启shutdown endpoint Spring Boot Actuator的shutdown endpoint默认是关闭的,因此在application.properties中开启shutdown endpoint: #启用shutdown
endpoints.shutdown.enabled=true
#禁用密码验证
endpoints.shutdown.sensitive=false 指定路径、IP、端口 #指定shutdown endpoint的路径
endpoints.shutdown.path=/custompath
#也可以统一指定所有endpoints的路径`management.context-path=/manage`
#指定管理端口和IP
management.port=
management.address=127.0.0.1 、发送shutdown信号 shutdown的默认url为host:port/shutdown,当需要停止服务时,向服务器post该请求即可,如: curl -X POST host:port/shutdown 将得到形如{"message":"Shutting down, bye..."}的响应 、安全设置 可以看出,使用该方法可以非常方便的进行远程操作,但是需要注意的是,正式使用时,必须对该请求进行必要的安全设置,比如借助spring-boot-starter-security进行身份认证: pom.xml添加security依赖 <dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
</dependency> 开启安全验证
在application.properties中变更配置 #开启shutdown的安全验证
endpoints.shutdown.sensitive=true
#验证用户名
security.user.name=admin
#验证密码
security.user.password=secret
#角色
management.security.role=SUPERUSER 注意:如果引入了security框架后,按照上面的配置,那么全部请求都会要求输入账号密码才能访问。 二、部署为Unix/Linux Service 该方式主要借助官方的spring-boot-maven-plugin创建"Fully executable" jar ,这中jar包内置一个shell脚本,可以方便的将该应用设置为Unix/Linux的系统服务(init.d service),官方对该功能在CentOS和Ubuntu进行了测试,对于OS X和FreeBSD,可能需要自定义。具体步骤如下: 、在pom.xml中引入插件: <plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<executable>true</executable>
</configuration>
</plugin> 注意:标红部分的意思是是否是可以执行的。 、赋予可执行权限: chmod u+x app.jar 说明:到了这一步之后基本可以在命令行运行,先打包出JAR包,然后启动,比如./app.jar start即可启动。 、设置为系统服务 将你的应用打成JAR包,部署到服务器,假设部署路径为/var/app,包名为app.jar,通过如下方式将应该设置为一个系统服务: sudo ln -s /var/app/app.jar /etc/init.d/app . 以系统服务的方式管理 接下来,就可以使用我们熟悉的service foo start|stop|restart来对应用进行启停等管理了 sudo service app start|stop 命令将得到形如Started|Stopped [PID]的结果反馈 默认PID文件路径: /var/run/appname/appname.pid 默认日志文件路径: /var/log/appname.log 这可能是我们更熟悉也更常用的管理方式。 提示:上面的的日志和存放PID的文件根据不同的系统可能出现的位置不一样。 、自定义参数 在这种方式下,我们还可以使用自定义的.conf文件来变更默认配置,方法如下: )在jar包相同路径下创建一个.conf文件,名称应该与.jar的名称相同,如appname.conf )在其中配置相关变量,如: JAVA_HOME=/usr/local/jdk
JAVA_OPTS=-Xmx1024M
LOG_FOLDER=/custom/log 、安全设置 作为应用服务,安全性是一个不能忽略的问题,如下一些操作可以作为部分基础设置参考: 为服务创建一个独立的用户,同时最好将该用户的shell绑定为/usr/sbin/nologin
赋予最小范围权限:chmod app.jar
阻止修改:sudo chattr +i app.jar
对.conf文件做类似的工作:chmod app.conf,sudo chown root:root app.conf 参考: http://www.cnblogs.com/lobo/p/5657684.html(以上内容转自此篇文章) Installing Spring Boot applications Endpoints Securing sensitive endpoints
请参考:https://yq.aliyun.com/articles/588384?spm=a2c4e.11153940.blogcont47018.10.458525f53hZq2z
https://blog.csdn.net/niugang0920/article/details/79456215
spring boot 2.0 参考:https://www.jianshu.com/p/8faf7c3c78ac
Spring-Boot devtools项目自动重启的更多相关文章
- Spring Boot 项目学习 (四) Spring Boot整合Swagger2自动生成API文档
0 引言 在做服务端开发的时候,难免会涉及到API 接口文档的编写,可以经历过手写API 文档的过程,就会发现,一个自动生成API文档可以提高多少的效率. 以下列举几个手写API 文档的痛点: 文档需 ...
- 使用IDEA 中 实现springboot 热部署 (spring boot devtools版)
第一步:添加springboot的配置文件 首先我先贴出我的配置 添加依赖包 <!-- spring boot devtools 依赖包. --> <dependency> & ...
- Spring Boot之实现自动配置
GITHUB地址:https://github.com/zhangboqing/springboot-learning 一.Spring Boot自动配置原理 自动配置功能是由@SpringBootA ...
- SpringCloud 微服务一:spring boot 基础项目搭建
spring cloud是建立在spring boot的基础上的,而之前虽然听说过,也随便看了一下spring boot,却没有真正使用,因此还必须先花时间学一下spring boot. spring ...
- 【spring】1.2、Spring Boot创建项目
Spring Boot创建项目 在1.1中,我们通过"Spring Starter Project"来创建了一个项目,实际上是使用了Pivotal团队提供的全新框架Spring B ...
- 1.spring boot初始化项目
初始化spring boot项目的方式非常多,如使用Spring Tool Suite.使用IntelliJ IDEA.使用NetBeans.在start.spring.io网站中.curl命令.sp ...
- Spring Boot 商城项目
Spring Boot 商城项目 angularJS Demo1 <html> <head> <title>angularJS Demo1</title> ...
- 有哪些值得学习的spring boot开源项目?
1. awesome-spring-boot 首先给大家介绍的就是Spring Boot 中文索引,这是一个专门收集 Spring Boot 相关资料的开源项目,也有对应的导航页面. 产品主页 htt ...
- 15 个优秀开源的 Spring Boot 学习项目,一网打尽!
Spring Boot 算是目前 Java 领域最火的技术栈了,松哥年初出版的 <Spring Boot + Vue 全栈开发实战>迄今为止已经加印了 8 次,Spring Boot 的受 ...
随机推荐
- CSS 列表样式详解
CSS列表用于前端的列表排列. CSS列表属性作用如下: 设置不同的列表项标记为有序列表 设置不同的列表项标记为无序列表 设置列表项标记为图像 列表 在HTML中,有两种类型的列表: 无序列表 - 列 ...
- js做小数运算精度问题
当js做小数运算时存在bug,大概是因为二进制和十进制转换之间的关系. bug如图 解决方案 1.运算结果后,乘以100再除以100.网上推荐这种方法但是乘以1000再除以1000依然存在精度问题 2 ...
- Vue跨路由触发事件,Vue监听sessionStorage
近来,在做公司的聊天系统,引用的是极光的api.项目需求实时监听别人发过来的消息,进行渲染到页面,还有历史记录也要渲染,历史记录和实时聊天记录返回的结构体还不一样,看到需求的我欲哭无泪,首先登录是在首 ...
- Leetcode 50
//1开始我只是按照原来快速幂的思想,当n <0 时,n变成-n,发现当n取-INTMAX时会发生越界的问题,然后在改快速幂代码的时候逐渐了解到快速幂的本质,其实位运算对快速幂来说速度加快不了多 ...
- 【hive】时间段为五分钟的统计
问题内容 今天遇到了一个需求,需求就是时间段为5分钟的统计.有数据的时间戳.对成交单量进行统计. 想法思路 因为数据有时间戳,可以通过from_unixtime()来获取具体的时间. 有了具体的时间, ...
- Linux安装MySQL遇到的问题
安装: https://www.cnblogs.com/fnlingnzb-learner/p/5830622.html https://www.cnblogs.com/xinjing-jingxin ...
- 『转』Emsisoft Anti-Malware 8刷Key教程 - 文字版
先分主机和客机,下载好 EAM8安装包 和 30天重置工具EAM Trial Reset 1.1.exe 1. 主机安装 Emsisoft Anti-Malware 8 并激活30天试用版 如果已 ...
- SharePoint Development - Custom List using Visual Studio 2010 based SharePoint 2010
博客地址 http://blog.csdn.net/foxdave 之前两次我们定义了内容类型和字段,我们现在用它们为这一讲服务--创建一个自定义列表. 打开Visual Studio,打开之前的工程 ...
- jQuery判断checkbox是否选
方法一: if ($("#checkbox-id").get(0).checked) { // do something } 方法二: if($('#checkbox-id').i ...
- 433.92 TX RX module design and test recording。。
This paper records the process of 433.92 TX RX module design and test,fyi. 1 RX module The circuit ...