springboot运维实用篇

Springboot 运维实用篇

分为两块程序打包 程序运行

程序打包

基于maven工程下的执行maven的生命周期进行package双击运行

在target目录下生成工程文件.jar

在这里插入图片描述

<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
    </plugins>
</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配置文件里配置多环境

三个分割线把环境区分开

#应用环境
spring:
  profiles:
    active: pro
---
# 设置环境
# 生产环境
spring:
  profiles: pro
server:
  port: 80
---
# 开发环境
spring:
  profiles: dev
server:
  port: 81
---
# 测试环境
spring:
  profiles: test
server:
  port: 82

避免泄露信息 分为四个配置信息

在这里插入图片描述

properties文件后缀的同上配置

多环境分组开发

各环境中有相同的配置,在配置的时候后加载的覆盖前加载的

引用多环境需要使用逗号分隔

单一环境

dev只是一个环境名称 有各种不同的环境配置

将原有的yml文件分为出各个属性文件:application.dev.yml application-devDB.yml application-devMVC.yml

application.yml里引用配置即可 使用include包含其他配置

application-devDB.yml:写数据库环境配置

application-devMVC.yml :MVC环境配置

spring:
  profiles:
    active: dev
    include: devDB,devMVC
多环境(group 主流)

使用group设定若干环境组 引用哪个环境 自动加载该环境组

spring:
  profiles:
    active: dev
    group: 
      "dev": devDB,devMVC
      "pro": proDB,proMVC
多环境开发控制

maven和springboot都有多环境配置profile

在pom文件中设置多环境 在pom文件里设置了变量 springboot来读

<!--设置多环境-->
<profiles>
    <profile>
        <id>env_pro</id>
        <properties>
                <profile.active>pro</profile.active>
        </properties>
        <!--设置默认环境-->
        <activation>
            <activeByDefault>true</activeByDefault>
        </activation>
    </profile>
    
    <profile>
        <id>env_dev</id>
        <properties>
            <profile.active>dev</profile.active>
        </properties>
    </profile>
</profiles>

当maven与Spirngboot同时对多环境进行控制时,以maven为主,springboot使用@…@占位符读取maven对应的配置属性值

springboot的yml文件读取

spring:
  profiles:
    active: @profile.active@
    group:
      "dev": devDB,devMVC
      "pro": proDB,proMVC

我们通常是写maven配置为主,让springboot(为辅)来读maven的配置

基于Springboot读取maven配置属性的前提下,如果在idea测试工程时pom.xml每次更新需要手动compile可生效

日志

日志作用

  • 编程时期调试代码
  • 运营期记录信息
    • 记录日常运营重要信息(峰值流量,平均响应时长…)
    • 记录应用报错信息(错误堆栈)
    • 记录运维过程数据(扩容,宕机,报警…)

日志级别

  • trace: 运行堆栈信息,使用率低
  • debug:程序员调试代码使用
  • info:记录运维过程数据
  • warn:记录运维过程报警数据
  • error:记录错误堆栈信息
  • fatal:灾难信息,合并计入error

日志使用

创建日志对象

引用包文件

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

创建对象

//创建记录日志对象
private static final Logger log = LoggerFactory.getLogger(BookController.class);

对象调用,日志记录

log.debug("debug...");
log.info("info....");
log.error("error...");
log.warn("warn...");
springboot中管理日志级别

在springboot配置文件中进行配置

配置日志组,或者代码包的形式对日志进行级别控制

# 一般是写全局配置日志
# 开启debug模式,输出调试信息,常用于检查系统状况
debug: true

# root设置的大于debug,上面的debug值设置相关于springboot相关的
# root是真个包下的debug
# 设置日志级别,root表示根节点,即对整体应用日志级别
logging:
  # 设置分组来定义日志级别
  group:
  	# 分别为哪几个包 
    ebank: 包1,包二,包三
    # 服务包的配置
    iservice: com.alibaba
  level:
    # root是全代码的日志级别
    root: debug
    # 设置某个包的日志级别
    包名: 日志级别
    # 设置分组包的日志级别
    ebank: warn
快速开发日志对象
1.写一个工具类(死板)

让基类继承工具类来创建日志对象

public class BaseClass {
    private Class clazz;
    public static  Logger log;
    
    public BaseClass(){
        clazz = this.getClass();
        log = LoggerFactory.getLogger(clazz);
    }
}
2.pom文件中引用lombok,使用注解**@Slf4j**
<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
</dependency>

使用注解之后产生的日志对象为log,可以快速调用

减少日志的声明对象

@Slf4j
//Rest模式
@RestController
@RequestMapping("/books")
public class BookController {
    @GetMapping
    public String getById(){
        System.out.println("SpringBoot is running.....");
        log.debug("debug...");
        log.info("info....");
        log.error("error...");
        log.warn("warn...");
        return "SpringBoot is running.....";
    }

}
日志的输出格式

在这里插入图片描述

日志的输出格式控制(一般公司定死,自己不需要写)

在springboot的配置文件中进行修改

设置日志模板格式
logging:
  pattern:
#    console: "%d - %m %n"
     console: "%d %clr(%5p) --- [%16t] %clr(%-40.40c : %m){cyan} %n"

**%clr(%-40.40c : %m){cyan}**表示:向左对齐截40位的类名

百分号后带数字加简写字母:代表该位占多少位字符

  • %clr:颜色显示 给谁用包裹谁,设置颜色是在包裹的括号外加{颜色}

  • %d:日期

  • %m:消息

  • %n:换行

  • %p:日志级别

  • %t:线程名

  • %c:类名

设置日志文件
logging:
  file:
  #设置日志文件名称
    name: server.log
日志文件详细配置
logging:
  file:
    name: server.log
  logback:
    # 滚动日志 日志按时间存放 或者 日志文件超出容量再创建新的存储
    rollingpolicy:
      # 规定日志文件容量大小
      max-file-size: 5KB
      # 指定日志文件名称格式
      file-name-pattern: server.%d{yyyy-MM-dd}.%i.log

运维篇告一段落

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
黑马SpringBoot运维主要包括SpringBoot程序的打包与运行。在启动SpringBoot程序时,可以选择是否使用命令行属性为SpringBoot程序传递启动属性。要进行SpringBoot程序的打包与运行,可以参考以下步骤: 1. 首先,确保已经配置好了Java开发环境,并且安装了Maven。 2. 在项目根目录下,执行mvn clean package命令进行项目的打包。 3. 打包完成后,在target目录下会生成一个.jar文件,该文件即为可执行的SpringBoot程序。 4. 使用java -jar命令启动SpringBoot程序,例如java -jar xxx.jar,其中xxx.jar是你的程序名称。 5. 此时,SpringBoot程序会自动加载配置文件,并根据配置启动应用程序。 6. 可以通过访问http://localhost:8080来验证程序是否成功启动。 在运维SpringBoot程序时,还需要了解一些关于程序打包的内容。例如,查看MANIFEST.MF文件可以获取关于程序的版本信息、启动类、classpath等信息。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [2.黑马SpringbBoot运维笔记自己修改](https://blog.csdn.net/m0_63941306/article/details/130352928)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

02XD

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值