SpringBoot运维实用篇
打包与运行
windows打包
在maven中双击package打包
另外如果打包报utf-8的错,在pom中添加
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>2.6</version>
</plugin>
如果报什么测试错误,你clean一下,如果还是不行自己找下其他地方有没有问题
另外项目没有target目录的话:
完成后:target目录下的这个文件就是我们打包的文件
运行打包文件:在cmd中
注意:windows有补全文件名功能,打上一个d点击tab 就能得到那个demo-0.0.。。。。
打包跳过test的方法:
打包插件
插件的作用:打包一个可以独立运行的程序,包含你的程序,程序运行的所有jar包,为了能运行加入的工具包
linux快速启动springboot
然后将打包的jar文件上传到该文件夹中
当然要确保linux中有jdk环境
在linux中连接数据库,类似
之后
之后找到ip地址和端口,在浏览器查看
防止霸屏可以后台启动:
总结:
配置高级
临时属性设置
临时更改端口:(程序已经传到服务器配置文件改不了了)
改多个属性:
临时属性必须是springboot支持的属性否则设置无效
在idea中设置临时属性:
第一种
第二种:
不带参数启动springboot可以防止外界设置临时属性降低程序得到安全性
配置覆盖(四级配置文件)
当然只覆盖新配置文件中有的属性
- 在打包jar包所在目录配置一个配置文件那么他的优先级又高于上面两者
- 在打包jar包所在目录创建一个config目录在里面添加一个配置文件,他的优先级又高于上面三者
自定义配置文件
如果我们配置文件名字不想用application,想换个其他名字需要怎么办呢?
需要设置临时属性:
方法一:
方法二:
这就把文件名改为了ebank了
设置多个配置文件:
最后一个配置文件优先级高
重要说明:
多环境开发
多环境开发就是生产、开发、测试环境不在同一台主机,而且配置文件可能也有所区别
#应用环境
#表示本处我们有profiles名字为pro的环境
spring:
profiles:
active: pro
---
#生产环境
server:
port: 81
spring:
profiles: pro
---
#测试环境
server:
port: 80
spring:
profiles: test
---
#开发环境
server:
port: 82
spring:
profiles: dev
如果不同环境的配置在不同的配置文件中:
和之前类似只不过profiles的名字就是文件名-后面的,比如application-dev.yml 的名字就是dev
多环境开发分组管理
上面优先级:dev>devMVC>devRedis>devDB
本处的dev就是下面的“dev”组,所以说本处启动的是devDB,devMVC
多环境开发控制
maven和springboot多环境兼容步骤:
日志
日志基础
- 日志作用
- 编程期调试代码
- 运营期记录信息
- 日常重要信息(峰值流量。。。)
- 报错信息(错误堆栈。。)
- 运维过程数据(扩容、报警。。)
@RestController
@RequestMapping("/books")
public class BookController {
// 创建记录日志对象
private static final Logger log = LoggerFactory.getLogger(BookController.class);
@GetMapping
public String getById(){
System.out.println("spring is running..");
log.debug("debug..");
log.info("info。。。");
log.error("error...");
log.warn("warn...");
return "springboot is running...";
}
}
启动项目打开网页后:
默认为info级别所以不显示debug,如果要显示需要设为debug级别,设置方法:配置文件中:
级别设置为warn就只有error进而warn
设置为error就只有error,因为只会显示大于等于error级别的信息
不仅可以设置根目录的日志级别还可以设置某个包的日志级别,和设置分组对某个组设置日志级别:
快速创建日志对象
导入lombok
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
之后
@Slf4j
@RestController
@RequestMapping("/books")
public class BookController {
//// 加上@Slf4j注释就不用创建这个对象
// private static final Logger log = LoggerFactory.getLogger(BookController.class);
//
@GetMapping
public String getById(){
System.out.println("spring is running..");
log.debug("debug..");
log.info("info。。。");
log.error("error...");
log.warn("warn...");
return "springboot is running...";
}
}
日志输出格式控制
基础格式:
我们可以自己设置日志输出格式:
基础格式相当于:
文件记录日志
logging:
file:
name: server.log
logback:
rollingpolicy:
# 文件大小超过10mb就创建新文件
max-file-size: 10MB
# 设置命名格式:类似server.2020-01-01.01.log
file-name-pattern: serber.%d{yyyy-MM-dd}.%i.log
这样在本文件根目录就会出现一个叫做server.log的文件来记录日志信息
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/195236.html