SpringBoot项目上线运维

news2025/7/9 0:30:33

文章目录

  • 一.高级属性配置
    • 1.1 简介
    • 1.2 临时属性设置
    • 1.3 配置文件的四级分类
    • 1.4 自定义配置文件
  • 二.多环境开发
    • 2.2 多环境开发(yaml版)
    • 2.3 多环境开发多文件版(yaml版)
    • 2.4 多环境开发(Properties版)
    • 2.5 多环境分组管理
  • 三.日志管理
    • 3.1 日志基础操作
    • 3.2 日志级别控制
    • 3.3 快速创建日志对象
    • 3.4 日志输出格式控制
    • 3.5 文件记录日志

一.高级属性配置

1.1 简介

如果我们的SpringBoot项目已经在服务器上进行了部署(部署的步骤见我这篇博客)有时候我们的SpringBoot项目在服务器上运行的时候可能出现一些问题,例如端口冲突等,所以我们需要对项目的属性进行一些配置。

1.2 临时属性设置

启动端口配置

在idea中我们直接修改相应的yaml文件中的端口属性就行,但是在服务器上的配置流程有所不同,我们可以直接在启动命令后加上我们需要配置的临时属性即可

java -jar test-0.0.1-SNAPSHOT.jar --server.port=8080
 #要配置更多属性只需要空格加上--[属性名]=[属性值]即可

在这里插入图片描述

运行结果
在这里插入图片描述

当然idea中也是可以设置启动时的临时属性的,这也说明临时属性的优先级是大于欧yaml配置的,具体的添加方法如下

在这里插入图片描述

如何取消临时参数的作用

在这里插入图片描述

1.3 配置文件的四级分类

前面我们在服务器部署项目时,想要修改配置是通过启动命令后加临死属性来解决的,这种方法是比较麻烦的,我们可以基于现有的yaml配置文件的配置,去做一套新的配置在项目部署时可以覆盖原来的配置,这样就不需要在命令行配置临时属性了。下面展示了springBoot不同的配置文件级别,级别越高优先级越大:

  1. 二级配置文件(给开发经理用)

在一级配置文件所在的目录下创建一个config文件夹,然后将我们新的配置文件放进去,该配置文件就是我们的二级配置文件

在这里插入图片描述

在一级配置文件(给程序员用)中我们配置了端口号为80,在二级配置文件中我们 配置了端口号为82,运行程序会发现端口号为82,说明二级配置文件生效了。

在这里插入图片描述

  1. 三级配置文件(给运维人员用)

将我们的配置文件在服务器放在与springBoot的运行jar包同级的目录即可(我们可以发现下次我们要在服务器上修改配置不需要再使用命令行,只需要在jar包所在的目录创建一个新的配置文件即可,这里我们令新的配置文件设置启动端口号为83),下面我在服务器下springboot的jar包所在的目录下创建了一个配置文件:

在这里插入图片描述

修改配置文件内容,设置启动端口号为83

在这里插入图片描述

运行结果

在这里插入图片描述

  1. 四级配置文件(给大boss用)

原理很简单,在springboot的项目jar包所在的文件夹下创建一个config目录,然后将四级配置文件放进去即可。这里我们设置四级配置文件的内容为设置端口号为84

在这里插入图片描述

修改四级配置文件的内容

在这里插入图片描述

运行程序,查看结果

在这里插入图片描述

另外在同一目录下yml文件的优先级是低于properties文件的优先级的

1.4 自定义配置文件

上一小节我们使用的配置文件的配置名都是默认的application,那么如果修改我们的配置文件名,去自定义我们的配置文件名并让其生效呢,这里提供了几种方法。

方法一:idea参数列表修改
在这里插入图片描述

上面图片那句话可以改成安装类路径去找配置文件

--spring.config.location=classpath:/jakiechai.yml#配置文件所在的路径

二.多环境开发

多环境开发,其实就是说我们的电脑上写的程序最终要放到别人的服务器上去运行。每个计算机环境不一样,这就是多环境,其核心还是配置文件的问题。

2.2 多环境开发(yaml版)

  1. 设置环境

我们需要在yml配置文件中配置不同的环境,例如生产环境、开发环境以及测试环境

在这里插入图片描述
2. 应用环境

再为应用环境配置一个区域即可

在这里插入图片描述
3. 运行结果
在这里插入图片描述

2.3 多环境开发多文件版(yaml版)

上面我们在使用yaml进行多环境开发时发现了一个问题,就是如果把多个环境的配置放在一个文件里面,配置会显的乱,所以我们可以将配置文件分割成多个部分来分别管理。

  1. 创建3个环境的配置文件

在这里插入图片描述
3. 删除配置中冗余的配置

在这里插入图片描述
4. 运行结果
在这里插入图片描述

2.4 多环境开发(Properties版)

上面做了yml版的多环境开发,现在实现以下Properties版的多环境开发配置,其操作流程几乎和yaml版的一模一样,只是语法和yaml有点不同,这里就不演示了。

2.5 多环境分组管理

在实际开发中我们会为每个环境独立创建一个配置文件,例如数据库我们会创建一个配置文件,缓存我们会创建一个配置文件等等,而在主配置文件中使用include属性在激活指定环境的情况下,同时对多个环境进行加载使其生效,多个环境使用逗号隔开。

  1. 为dev环境,创建几个子环境配置文件

在这里插入图片描述
3. 在dev主环境中配置使得多个子环境配置文件生效

在这里插入图片描述

在后面的版本include进行了替换使用了下面这种配置方法,它给每个环境的配置文件都进行了配置,而且优先级进行了反转

在这里插入图片描述

三.日志管理

3.1 日志基础操作

日志在我们编程的时候用于帮助我们调试代码,在项目运营的时候记录运行的信息。在运营期间记录的信息主要有三种:

  1. 记录日期运营重要信息
  2. 记录应用报错信息
  3. 记录运维过程数据
  1. SpringBoot中使用日志

使用的是slfj4日志

在这里插入图片描述

运行结果

在这里插入图片描述

3.2 日志级别控制

上面输出结果我们发现,只打印了3个日志信息,还有一个debug没有打印,这是因为系统默认级别是info级别,所以info级别以上的信息是打印不出来的,我们可以通过配置来启动某个级别,常见的日子级别(其中2到5是常用的)

  1. Trace:运行堆栈信息
  2. Debug:程序员调试代码用
  3. Info:记录运维过程数据
  4. Warn:记录运维过程的报警数据
  5. Error:记录错误堆栈信息
  6. Fatal:灾难信息,合并计入Error

在主配置文件中启动debug日志级别方法一(不推荐使用)

在这里插入图片描述

运行结果

在这里插入图片描述
在主配置文件中启动debug日志级别方法二(推荐使用)

这种方法是将系统启动时的默认级别设置为debug级别即可,这样debug级别及以下的级别都会被打印出来

在这里插入图片描述

运行结果

在这里插入图片描述
其它设置方法
在这里插入图片描述

3.3 快速创建日志对象

如下图,如果我们要使用日志对象的话,似乎每次都要在要使用的文件下实现这句代码,如果代码文件过多操作会非常的繁琐,所以出现了一些快速创建日志对象的方法。

在这里插入图片描述

  1. 继承类实现

创建被继承的类,然后需要使用日志的直接继承这个类即可

在这里插入图片描述
2. Lombok工具的使用

lombook使用方法看我这篇博客直接在要使用日志的类上加上@Slf4j注解即可食用呢

在这里插入图片描述

3.4 日志输出格式控制

我们控制台见到的日子内容如下

在这里插入图片描述

我们在配置文件可以对日志格式进行修改

在这里插入图片描述

%d:日期
%clr():设置颜色,后面不加{}就会使用默认的颜色,加上{}在里面填入我们想要的颜色即可
%5p:p表示日志级别,5表示这一块的长度
%16t:t表示线程名,16表示长度
%-40.40c:c表示日志所属类和接口,前面一个40表示该块的长度,-表示在该块消息左对齐.40c表示内容超过40多的就截断
%m:表示日志消息
%n:换行

在这里插入图片描述

3.5 文件记录日志

前面日志我们都是在控制台写的,为了保存日志信息我们可以把日志信息写到文件中

在配置类中配置

在这里插入图片描述
运行结果
在这里插入图片描述

现在问题又来了,如果我们的日志每次运行都记,那么日志问价将会特别大,所以我们这里设置滚动日志(这里和linux那里的日志管理原理有点类似)

在这里插入图片描述

max-file-size:设置日志文件的最大容量
file-name-pattern:设置文件名类型

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/18245.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

这次把怎么做好一个PPT讲清-画图篇

文章目录概述布尔运算PPT幻灯片中如何设置形状对象格式每一个图形既是一个形状,又是一个文本框如何用PPT来实现三维3D效果,附参数设置详解怎么用ppt画三维立体图?**PPT做3D可动样机****PPT做3D[动态图标]****PPT做3D插画**如何使用[PPT绘图]&#xff1f…

图像处理:图像清晰度评价

目录 0、实现效果 1、概述 2、模糊度分类 1、运动模糊 2、压缩模糊 3、高斯模糊 3、清晰度量化指标 Brenner 能量梯度函数(Energy of Gradient) ​编辑 Roberts Laplace SMD(灰度方差)函数 SMD2 (灰度方差乘积)函数 …

JUC学习笔记——并发工具线程池

在本系列内容中我们会对JUC做一个系统的学习,本片将会介绍JUC的并发工具线程池 我们会分为以下几部分进行介绍: 线程池介绍自定义线程池模式之Worker ThreadJDK线程池Tomcat线程池Fork/Join 线程池介绍 我们在这一小节简单介绍一下线程池 线程池简介…

Linux基础教程:9、linux进程管理(2)

前面我们讲到fork创建子进程,那么这一期我们接着讲创建进程之后如何调试以及插入其他进程、特殊进程、和进程如何退出; 同样我们写了一个C语言程序,但是在这个程序中是有两个进程,我们调试的时候只会选择一个进程调试&#xff0c…

了解ixgbe网卡驱动— 驱动注册(纯代码分享)

1 ixgbe 网卡注册驱动 和大部分设备驱动一样,网卡驱动是作为一个 module 注册到 kernel 的 通过 module_init() -> ixgbe_init_module() -> pci_register_driver() 注册 ixgbe_driver 通过 module_exit() -> ixgbe_exit_module() -> pci_unregister_dr…

【仿牛客网笔记】项目进阶,构建安全高效的企业服务——置顶、加精、删除

添加依赖,去掉版本 实现置顶、加精的修改,删除 首先开发数据访问层,因为是对帖子的操作所以无论是置顶、加精最终是要修改帖子,先打开DiscussPostMapper增加修改的操作,一个修改类型,一个修改状态。 打…

[iOS]MonkeyDev安装

MonkeyDev官方安装文档:https://github.com/AloneMonkey/MonkeyDev/wiki/%E5%AE%89%E8%A3%85 1.安装HomeBrew 终端输入指令 /bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)" 选择源后安装 更多安装方式可以参…

HTML+CSS+JS大作业:网站设计——家具装修公司(12页 bootstrap, 响应式)

⛵ 源码获取 文末联系 ✈ Web前端开发技术 描述 网页设计题材,DIVCSS 布局制作,HTMLCSS网页设计期末课程大作业 | 公司官网网站 | 企业官网 | 酒店官网 | 等网站的设计与制 | HTML期末大学生网页设计作业,Web大学生网页 HTML:结构 CSS&#…

如何使用VMware12PRO安装Mac OS

VMware安装参考我的这篇文章http://t.csdn.cn/kZ3oh (有VMware安装包) 准备的工具 unlocker链接: https://pan.baidu.com/s/1a1akxL_-JjNu70HJqJORZw?pwd9sjk 提取码: 9sjk Mac OS10.11CDR镜像链接: https://pan.baidu.com/s/1LIz0qFIL0Jg2M83oGqiDW…

RepVGG:让VGG风格的ConvNet再次伟大起来

引言 经典的卷积神经网络(ConvNet)VGG [31]在图像识别中取得了巨大的成功,其简单的架构由conv、ReLU和池化的堆栈组成。随着Inception [33,34,32,19]、ResNet [12]和DenseNet [17]的出现,许多研…

【Struts2】一_idea快速搭建struts2框架

文章目录什么是SSH框架?Struts2框架1、struts2的环境搭建1.1 创建web项目(maven),导入struts2核心jar包1.2 配置web.xml(过滤器),是struts2的入口,先进入1.3 创建核心配置文件struts…

C语言日记 36 类的组合

书P137: 如果声明组合类的对象时没有指定对象的初始值,自动调用无形参的构造函数, 构造内嵌对象时也对应调用内嵌对象的无形参的构造函数。 Q1:这里,对于“构造内嵌对象时也对应调用内嵌对象的无形参的构造函数”;他指的是什么…

STM32F429基于TouchGFX进行简单控制LED和显示ADC值

所需软件: CubeMX KEIL MDK ARM TouchGFX 首先配置外部时钟 配置时钟树,设置180MHZ 使能GPIO口如下,其中PA0用于LED 配置ADC通道 定时器TIM8触发 配置FMC和SDRAM,参数固定 使能DMA2D,参数如下: 配置LTDC 屏幕分…

JAVA反射

今天我们来讲一讲什么是java的反射机制,我们要了解一个新事物之前,我们应该首先的了解它的基本概念,那什么是反射呢? java的反射概念:JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象&#…

centos7 安装hadoop

文章目录一、将hadoop的压缩文件传递到虚拟机里面二、解压缩三、配置环境变量一、将hadoop的压缩文件传递到虚拟机里面 路径随意,只要你能到时候能找到压缩文件就行。 二、解压缩 这里我给解压到opt/module目录里(没有可以自己创建,主要是为了方便管理) tar -zx…

Java#15(集合)

一.集合和数组的区别 1.从长度方面: 数组的长度是固定的,而集合的长度不是固定的 2.从存储类型方面: 数组可以存储基本数据类型也可以存储引用数据类型,而集合能存储引用数据类型,若是想要存储基本数据类型要将其变成对应的包装类 创建一个集合 二.ArrayList成员方法 1.boole…

【Spring5】使用JdbcTemplate操作mysql数据库

文章目录1 JdbcTemplate简介及操作准备2 添加操作3 修改与删除操作4 数据库查询操作4.1 返回一个值4.2 返回对象4.3 返回集合5 批量操作5.1 批量添加与修改5.2 批量修改与批量删除写在最后1 JdbcTemplate简介及操作准备 Spring框架对JDBC进行封装,使用JdbcTemplate…

java计算机毕业设计ssm教师贴心宝的设计与实现

项目介绍 随着互联网技术的发发展,计算机技术广泛应用在人们的生活中,逐渐成为日常工作、生活不可或缺的工具,高校各种管理系统层出不穷。高校作为学习知识和技术的高等学府,信息技术更加的成熟,为教师开发必要的系统,能够有效的提升管理效率。近年来,高校规模不断扩大,同时在…

[附源码]SSM计算机毕业设计中达小区物业管理系统JAVA

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

c#入参使用引用类型为啥要加ref?

目录 ref修饰入参的常用场景引用类型添加ref的作用是啥?总结那什么是值,什么是引用?大体可以理解为堆栈的区别,在.net中大多数实例存在于托管堆栈中。struct,int32,int64,double,en…