配置
#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项目自动重启的更多相关文章

  1. Spring Boot 项目学习 (四) Spring Boot整合Swagger2自动生成API文档

    0 引言 在做服务端开发的时候,难免会涉及到API 接口文档的编写,可以经历过手写API 文档的过程,就会发现,一个自动生成API文档可以提高多少的效率. 以下列举几个手写API 文档的痛点: 文档需 ...

  2. 使用IDEA 中 实现springboot 热部署 (spring boot devtools版)

    第一步:添加springboot的配置文件 首先我先贴出我的配置 添加依赖包 <!-- spring boot devtools 依赖包. --> <dependency> & ...

  3. Spring Boot之实现自动配置

    GITHUB地址:https://github.com/zhangboqing/springboot-learning 一.Spring Boot自动配置原理 自动配置功能是由@SpringBootA ...

  4. SpringCloud 微服务一:spring boot 基础项目搭建

    spring cloud是建立在spring boot的基础上的,而之前虽然听说过,也随便看了一下spring boot,却没有真正使用,因此还必须先花时间学一下spring boot. spring ...

  5. 【spring】1.2、Spring Boot创建项目

    Spring Boot创建项目 在1.1中,我们通过"Spring Starter Project"来创建了一个项目,实际上是使用了Pivotal团队提供的全新框架Spring B ...

  6. 1.spring boot初始化项目

    初始化spring boot项目的方式非常多,如使用Spring Tool Suite.使用IntelliJ IDEA.使用NetBeans.在start.spring.io网站中.curl命令.sp ...

  7. Spring Boot 商城项目

    Spring Boot 商城项目 angularJS Demo1 <html> <head> <title>angularJS Demo1</title> ...

  8. 有哪些值得学习的spring boot开源项目?

    1. awesome-spring-boot 首先给大家介绍的就是Spring Boot 中文索引,这是一个专门收集 Spring Boot 相关资料的开源项目,也有对应的导航页面. 产品主页 htt ...

  9. 15 个优秀开源的 Spring Boot 学习项目,一网打尽!

    Spring Boot 算是目前 Java 领域最火的技术栈了,松哥年初出版的 <Spring Boot + Vue 全栈开发实战>迄今为止已经加印了 8 次,Spring Boot 的受 ...

随机推荐

  1. oracle性能诊断艺术-执行计划

    --case1 --case2 --case3 --case4 --case5 --case6 --case7 --case8 --case9 --case10 --case12 SQL> AL ...

  2. 带你走进脚本世界,ijkplayer之【init-ios.sh】脚本分析

    前言 集成ijkplayer,需要执行脚本init-ios.sh,那么init-ios.sh脚本干嘛用的了,花了半天时间,学习了下shell脚本,感觉脚本语言学起来还是比较容易上手的,现在仅仅能看懂了 ...

  3. [Java] Eclipse下导入外部jar包的3种方式

    我们在用Eclipse开发程序的时候,经常要用到第三方jar包.引入jar包不是一个小问题,由于jar包位置不清楚,而浪费时间.下面配图说明3种Eclipse引入jar包的方式.   1.最常用的普通 ...

  4. java中break,continue,标签实现goto效果(编程思想)

    goto 编程语言中一开始就有goto关键词了.事实上,goto起源于汇编语言的程序控制:“若条件A成立,则调到这里:否则跳到那里”. goto语句时在源码级别上的跳转,这导致了其不好的名誉.于是go ...

  5. Javascript实现重力弹跳拖拽运动效果

    声明: By:GenialX 个人主页:胡旭博客 - www.ihuxu.com QQ:2252065614 演示地址: http://www.ihuxu.com/project/gcdmove/ 调 ...

  6. 干掉某个用户的所有进程 ---slay和kill

    要杀掉指定进程,你可以: 1.sudo slay <name> 知道进程名字即可 2.kill[参数][进程号]  知道进程ID即可 用‘slay’干掉某个用户的所有进程 slay 是Ch ...

  7. 基于Html5的爱情主题网站–表白神器

    介绍 一个基于基于Html5的爱情主题,文字采用打字机效果,逐字打印,并带有键盘敲击声音.在chrome,safari,firefox,IE10下都有效,chrome下效果最佳.要注意的是safari ...

  8. flv格式的播放代码

    <object classid="clsid:D27CDB6E-AE6D-444553540000" class="player2" codebase=& ...

  9. 伴随我整十个年头的校内网,现名 人人网, 是不是要shut down 了

    如题: 每天我都习惯性的登录人人网,虽然现在基本上已经看不到曾经的同学上线了,不过我还是有事没事的往上面post 一些出行的照片,没事无聊的时候上这个网上看看自己曾经的照片,虽然已经无人在线,但是自己 ...

  10. asp.net 操作word 权限

    1.先安装office 2.在“DCOM配置”中,为IIS账号配置操作Word(其他Office对象也一样)的权限: 开始>运行>输入  dcomcnfg  >确定 具体操作:“组件 ...