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 的受 ...
随机推荐
- UVA-673 Parentheses Balance(栈)
题目大意:给一个括号串,看是否匹配. 题目分析:一开始用区间DP写的,超时了... 注意:空串合法. 代码如下: # include<iostream> # include<cstd ...
- sqlserver版本分类下载以及各个版本之间的区别是什么
很多用visual studio做开发的朋友经常会用到sqlserver数据库,但是往往在选择的时候就不知道该使用哪个版本了,今天亦是美网络就给大家分享一下sqlserver各个版本之间的区别,以及各 ...
- Spring Boot @SpringApplicationConfiguration 不能导入的问题
较新版的Spring Boot取消了@SpringApplicationConfiguration这个注解,用@SpringBootTest就可以了
- 卸载oracle11g步骤图解
卸载oracle11g步骤图解 重启电脑即可
- bzoj2759
题解: lct+解线性方程组 首先先把每一个环搞出来,然后再建立一个额外的点 然后解方程.. 代码: #include <bits/stdc++.h> using namespace st ...
- linux中安装tomcat
01.去官网下载指定的安装包http://tomcat.apache.org/download-70.cgi 链接地址 02.在software目录下 使用命令wget 刚才复制的地址即可 03.使用 ...
- Ubuntu 16.04 日常工具
shutter sudo apt-get install shutter indicator-sysmonitor 之前需要通过deb包安装,现在可以通过添加PPA安装: sudo add-apt-r ...
- 谈谈我对"闭包"的理解
一.什么是闭包和闭包的几种写法和用法 1.什么是闭包闭包,官方对闭包的解释是:一个拥有许多变量和绑定了这些变量的环境的表达式(通常是一个函数),因而这些变量也是该表达式的一部分.闭包的特点: 1. 作 ...
- 【Ubuntu14】Nginx+PHP5+Mysql记录
这次因为工作原因,需要在Linux下进行开发.推荐的环境是Ubuntu14+Nginx+PHP+Mysql.环境搭建好之后,装上GIT,装上IDE,觉得Mysql命令界面麻烦又装了个Navicat.总 ...
- 征信接口调用,解析(xml)
数据传输格式报文格式:xml public CisReportRoot queryCisReport(PyQueryBean pyQueryBean) throws Exception { CisRe ...