Springboot运维实用篇
Springboot 运维实用篇
分为两块程序打包 程序运行
程序打包
基于maven工程下的执行maven的生命周期进行package双击运行
在target目录下生成工程文件.jar
1 | <build> |
打包必须涵盖springboot自带的打包插件,在执行maven的package才能在cmd窗口正常执行否则会显示找不到主清单 因为两种打包方式压缩的文件数不同,携带的文件资源路径不对
cmd快速查找80端口是否占用 netstat -nao | findstr “80”
查看含有字符串80任务列表tasklist | findstr “80”
程序运行
windows下
- 在对应项目工程文件目录下启用终端(cmd)使用java -jar 工程文件.jar 运行查看
linux下
基于linux安装jdk和mysql的驱动jar
在对应的数据库创建相匹配的数据库表
将打包好的工厂文件的安装包保存在linux系统/usr/local/自定义目录或$HOME下
在对应项目工程文件目录下启用终端(cmd)使用java -jar 工程文件.jar 运行查看
配置高级
临时属性更换端口
java -jar 工程文件.jar –server.port=端口号
携带多个属性启动Springboot,属性间使用空格分隔
配置分级
config目录下的application配置大于resourses下的application文件
配置文件分类
SpringBoot中4种配置文件
1,2级的配置文件是写在打包完成后在源项目路径下写的配置
1级:file:config/application.yml(最高)
2级:file:application.yml
3级:classpath:config/application.yml
4级:classpath:application.yml(最低)
作用
- 1级和2级留作系统打开设置通用属性,1常用于运维经理进行线上整体项目部署方案调控
- 3级和四级用于系统开发阶段设置通用属性,3级常用于项目经理进行整体项目属性调控
自定义配置文件
当配置多个文件时,配置在后面的文件配置生效
多环境开发
yml配置文件里配置多环境
三个分割线把环境区分开
1 | #应用环境 |
避免泄露信息 分为四个配置信息
properties文件后缀的同上配置
多环境分组开发
各环境中有相同的配置,在配置的时候后加载的覆盖前加载的
引用多环境需要使用逗号分隔
单一环境
dev只是一个环境名称 有各种不同的环境配置
将原有的yml文件分为出各个属性文件:application.dev.yml application-devDB.yml application-devMVC.yml
application.yml里引用配置即可 使用include包含其他配置
application-devDB.yml:写数据库环境配置
application-devMVC.yml :MVC环境配置
1 | spring: |
多环境(group 主流)
使用group设定若干环境组 引用哪个环境 自动加载该环境组
1 | spring: |
多环境开发控制
maven和springboot都有多环境配置profile
在pom文件中设置多环境 在pom文件里设置了变量 springboot来读
1 | <!--设置多环境--> |
当maven与Spirngboot同时对多环境进行控制时,以maven为主,springboot使用@..@占位符读取maven对应的配置属性值
springboot的yml文件读取
1 | spring: |
我们通常是写maven配置为主,让springboot(为辅)来读maven的配置
基于Springboot读取maven配置属性的前提下,如果在idea测试工程时pom.xml每次更新需要手动compile可生效
日志
日志作用
- 编程时期调试代码
- 运营期记录信息
- 记录日常运营重要信息(峰值流量,平均响应时长….)
- 记录应用报错信息(错误堆栈)
- 记录运维过程数据(扩容,宕机,报警…..)
日志级别
- trace: 运行堆栈信息,使用率低
- debug:程序员调试代码使用
- info:记录运维过程数据
- warn:记录运维过程报警数据
- error:记录错误堆栈信息
- fatal:灾难信息,合并计入error
日志使用
创建日志对象
引用包文件
1 | import org.slf4j.Logger; |
创建对象
1 | //创建记录日志对象 |
对象调用,日志记录
1 | log.debug("debug..."); |
springboot中管理日志级别
在springboot配置文件中进行配置
配置日志组,或者代码包的形式对日志进行级别控制
1 | # 一般是写全局配置日志 |
快速开发日志对象
1.写一个工具类(死板)
让基类继承工具类来创建日志对象
1 | public class BaseClass { |
2.pom文件中引用lombok,使用注解**@Slf4j**
1 | <dependency> |
使用注解之后产生的日志对象为log,可以快速调用
减少日志的声明对象
1 |
|
日志的输出格式
日志的输出格式控制(一般公司定死,自己不需要写)
在springboot的配置文件中进行修改
1 | 设置日志模板格式 |
**%clr(%-40.40c : %m){cyan}**表示:向左对齐截40位的类名
百分号后带数字加简写字母:代表该位占多少位字符
%clr:颜色显示 给谁用包裹谁,设置颜色是在包裹的括号外加{颜色}
%d:日期
%m:消息
%n:换行
%p:日志级别
%t:线程名
%c:类名
设置日志文件
1 | logging: |
日志文件详细配置
1 | logging: |