springBoot02-运维-使用篇

一、打包和运行

1、直接打包:

  1. 跳过测试,要不然会执行测试里面的文件。
  2. 打包
    在这里插入图片描述

2、打包报错:没有主清单属性:

是因为没有使用SpringBoot提供的maven插件
在这里插入图片描述
使用SpringBoot提供的maven插件可以将工程打包成可执行jar包

<build>
	<plugins>
		<plugin>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-maven-plugin</artifactId>
		</plugin>
	</plugins>
</build>

3、win端口占用如何解决?

# 查询端口
netstat -ano
# 查询指定端口
netstat -ano |findstr "端口号"
# 根据进程PID查询进程名称
tasklist |findstr "进程PID号"
# 根据PID杀死任务
taskkill /F /PID "进程PID号"
# 根据进程名称杀死任务
taskkill -f -t -im "进程名称"

4、Linux运行Jar包

  1. 将项目打包成jar包,然后放到Linux当中。Linux必须安装java、mysql
  2. 创建mysql连接,并且创建库。主机ip地址:Linux的ip地址。
  3. 后台启动,并指定日志文件(或者默认):
  4. nohup java -jar springboot.jar >service.log 2>&1 &
  5. windows在页面查看:linux的ip地址加端口号
  6. 关闭:
    查看pid:ps -ef | grep “java.jar”
    关闭pid:kill -9 进程号

二、配置高级

1、临时属性(不重要)

1.带参数启动jar时

  • 带属性数启动SpringBoot,将端口号设为8888
    java –jar springboot.jar –-server.port=8888

  • 属性优先级:
    https://docs.spring.io/spring-boot/docs/current/reference/html/spring-boot-features.html#boot-features-external-config
    在这里插入图片描述

2.开发环境:

  • 方法一:等同于方法二 在这里插入图片描述
  • 方法二:
public static void main(String[] args) {
	String[] arg = new String[1];
	arg[0] = "--server.port=8080";
	SpringApplication.run(SSMPApplication.class, arg);

//可以在启动boot程序时断开读取外部临时配置对应的入口,
//也就是去掉读取外部参数的形参
	SpringApplication.run(SSMPApplication.class);
} 

2、配置文件的四级分类:(重要)

  • 多层级配置文件的属性采用叠加并覆盖的形式作用于程序

级别分类:

SpringBoot中4级配置文件
1级: file :config/application.yml 【最高】
2级: file :application.yml
3级:classpath:config/application.yml
4级:classpath:application.yml 【最低】

  • 作用:
    1级与2级留做系统打包后设置通用属性,1级常用于运维经理进行线上整体项目部署方案调控。
    3级与4级用于系统开发阶段设置通用属性,3级常用于项目经理进行整体项目属性调控。

  • file:将项目打包后,在jar包下创建.yml文件,或者创建config/yml文件

3、自定义配置文件路径、名字

将一些配置文件更改名字后,再让其生效。
在这里插入图片描述

单服务器项目:使用自定义配置文件需求较低
多服务器项目:使用自定义配置文件需求较高,将所有配置放置在一个目录中,统一管理
基于SpringCloud技术,所有的服务器将不再设置配置文件,而是通过配置中心进行设定,动态加载配置信息

三、多环境开发

1、统一yml文件,不同的生产环境

spring:
	profiles:
		active: pro
---
spring:
	profiles: pro
server:
	port: 80
---
spring:
	profiles: dev
server:
port: 81
---
spring:
	profiles: test
server:
	port: 82

2、不同的yml文件

  • yml文件格式, 一定是注重格式:applicaiton-pro.yml 其中的“-”不要忘了。
    在这里插入图片描述

主配置文件中设置公共配置(全局)
环境分类配置文件中常用于设置冲突属性(局部)

3、多环境分组管理

根据功能对配置文件中的信息进行拆分,并制作成独立的配置文件,命名规则如下
在这里插入图片描述

  • 使用group属性定义多种主环境与子环境的包含关系
    使用include属性在激活指定环境的情况下,同时对多个环境进行加载使其生效,多个环境间使用逗号分隔
spring:
	profiles:
		active: dev
		group:
			"dev": devDB,devRedis,devMVC
			"pro": proDB,proRedis,proMVC
			"test": testDB,testRedis,testMVC

当主环境dev与其他环境有相同属性时,主环境属性生效;其他环境中有相同属性时,最后加载的环境属性生效。最后加载的覆盖前面加载的。例如上述goup的“dev”的:devMVC 会覆盖前面的devDB/devRedis

4、多环境开发控制

Spring在基于maven运行,所以说主要配置maven,让spring读取maven。

在xml设定好规则,然后yml文件去xml去读取即可。

<profiles> 
	<profile> 
		<id>dev_env</id> 
			<properties> 
				<profile.active>dev</profile.active> 
			</properties> 
			
			<activation> 
				<activeByDefault>true</activeByDefault> 
			</activation> 
			</profile> 
			
			<profile> 
				<id>pro_env</id> 
				<properties> 
					<profile.active>pro</profile.active> 
				</properties> 
			</profile> 
			
			<profile> 
				<id>test_env</id> 
			<properties> 
			
			<profile.active>test</profile.active> 
		</properties> 
	</profile>
</profiles>
 spring:
	profiles:
		active: @profile.active@

在这里插入图片描述

  • 当打包后:查看yml文件时,以及是在maven设定好的优先启动文件。并非是:@profile.active@而是相对应的:dev

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

四、日志:

1、日志基础

  • 编程期调试代码

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

  • 日志级别:
    TRACE:运行堆栈信息,使用率低
    DEBUG:程序员调试代码使用
    INFO:记录运维过程数据
    WARN:记录运维过程报警数据
    ERROR:记录错误堆栈信息
    FATAL:灾难信息,合并计入ERROR

# 设置日志级别,root表示根节点,即整体应用日志级别
logging:
	level:
		root: debug

在这里插入图片描述

  • 使用lombok提供的注解@Slf4j简化开发,减少日志对象的声明操作
    在这里插入图片描述

2、日志输出格式控制

在这里插入图片描述

3、开启文件记录日志

日志文件详细配置:

#开启日志文件
logging:
  file:
    name: server.log
  #分文件记录、滚动的日志:1.文件名字 2.文件大小,超过则自动创建下一个文件
  logback:
    file-name-pattern:
    # server.2020-01-01.0.log  百分d是日期,i:是第几个文件
    max-file-size: server.%d{yyyy-MM-dd}.%i.log
    rollingpolicy: 4KB

黑马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 ]
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值