自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(482)
  • 资源 (2)
  • 收藏
  • 关注

原创 项目优化Day1-14-缓存套餐数据-实现思路&代码改造

​ 这是因为套餐这里加入了@Cacheable注解,而这个方法的返回值是R这种对象,而R这种对象是不能序列化的。咱们前面在做SpringCache案例的时候,咱们返回的是user对象,而我们当时那个user对象其实是实现了序列化接口,所以没有报这个错,而我们现在的返回结果变成了R对象,所以我们需要让R这个类实现序列化接口。​ 前面我们已经实现了移动端套餐查看功能,对应的服务端方法为SetmealController的list方法,此方法会根据前端提交的查询条件进行数据库查询操作。

2024-07-18 16:31:41 406

原创 项目优化Day1-15-将代码提交到Git仓库并合并主分支

2024-07-18 16:31:10 224

原创 项目优化Day02-01-本章内容介绍

1.本地连不上Linux上的Mysql:1.检查Mysql驱动是不是对应LinuxMysql的版本(我本地的是八点几的Mysql,Linux是五点几的Mysql,本地用的驱动版本是8.2.0,Linux用的驱动是5.1.49的)2.连接Linux的Mysql的时候注意jdbc:mysql://localhost:3306?useSSL=false后面加上useSSL=false跳过证书验证2.目前我们开发的系统可能还存在哪些问题?

2024-07-18 16:30:31 506

原创 项目优化Day02-02-MySQL主从复制-介绍

Mysql主从复制1.介绍:Mysql主从复制是一个异步的复制过程,底层是基于Mysql数据库自带的二进制日志功能。就是一台或多台Mysql数据库(slave,从库)从另一台Mysql数据库(master,主库)进行日志的复制然后再解析日志并应用到自身,最终实现从库的数据和主库的数据保持一致。Mysql主从复制是Mysql数据库自带功能,无需借助第三方工具。Mysql复制过程分成三部:1.master将改变记录到二进制日志(binary log)

2024-07-18 16:29:45 313

原创 项目优化Day02-03-MySQL主从复制-配置主库Master&从库Slave

因为我们在执行其他操作的时候,这个position他会变化,包括我们这个文件也会变化,而我们这个文件名和文件的位置,一会儿在从库那边会使用到。因为我们主从复制这块会涉及到咱们的slave从库从主库这边拿日志,也就是他们之间是需要通信的,而这个通信是需要认证的。这里面重点看:Slave_IO_State、Master_Host、Master_User、Master_Port、 Slave_IO_Running 、 Slave_SQL_Running(这两个如果都是yes,就说明没问题了)

2024-07-18 16:29:15 633

原创 项目优化Day02-04-MySQL主从复制-测试

1.测试没有问题,在主库增啥改查从库都照着做了一遍。经弹幕提醒:千万别动从库,不然就完蛋了。

2024-07-18 16:28:24 231

原创 项目优化Day02-05-读写分离案例-读写分离背景说明&Sharding-JDBC介绍

读写分离案例:1.背景​ 2.Sharding-JDBC介绍​ 通过这个框架,我们可以非常轻松的来实现读写分离​ 3.入门案例​ 4.功能测试1.背景:面对日益增加的系统访问量,数据库的吞吐量面临着巨大瓶颈。对于同一时刻有大量并发读操作和较少写操作类型的应用系统来说,将数据库拆分为主库和从库,主库负责处理事务性的增删改操作,从库负责处理查询操作,能够有效的避免由数据更新导致的行锁,使得整个系统的查询性能得到了极大的改善。

2024-07-18 16:27:41 334

原创 项目优化Day02-06-读写分离案例-入门案例

Sharding-JDBC这个jar包里面有SpringBootConfiguration这个配置类,这个配置类里面他要创建一个数据源对象,但是在我们这个德鲁伊连接池里面也有。这就导致我们创建的这个Bean他是冲突的。​ 配置好之后就不用管了,如果是查询的SQL,他就会使用我们定义的slave数据源,然后来操作我们101对应的数据库,如果是增删改这一类的操作,其实就是叫做允许Bean定义覆盖,也就是说我们现在引入的这两个框架,两个配置类里面都要创建数据源对象,现在它默认是false,不允许覆盖,

2024-07-18 16:27:02 397

原创 项目优化Day02-07-项目实现读写分离

在主库中创建瑞吉外卖项目的业务数据库reggie2并导入相关表结构和数据。直接使用我们前面在虚拟机中搭建的主从复制的数据库即可。1.数据库环境准备(主从复制)1.数据库环境准备(主从复制)

2024-07-18 16:26:14 205

原创 项目优化Day02-08-Nginx课程内容介绍&概述

Nginx:Nginx其实是属于一种服务器,关于服务器,前面讲过tomcat,可以部署我们的web项目,Nginx跟tomcat还是有很多区别。1.Nginx概述:Nginx是一款轻量级的web服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器。其特点是占有内存少,并发能力强,事实上Nginx的并发能力在同类型的网页服务器中表现较好,中国大陆使用Nginx的网站有:百度、京东、新浪、网易、腾讯、淘宝等。

2024-07-18 16:25:42 241

原创 项目优化Day02-09-Nginx命令

也可以去改,worker进程可以有多个,通过修改配置文件nginx.conf,在这里面可以配置,如果不配置默认情况下就有这么两个进程。在Nginx启动之后,在logs目录下会多出一个文件nginx.pid,里面记录的就是Nginx的进程号。服务停掉这个文件就没有了。当Nginx跑起来的时候,多出来了很多文件,看logs下面的三个文件,nginx.pid里面记录的是当前运行的nginx的进程号,和ps -ef 得到的是一样的。把配置文件离的work进程从1改成2了,如果不重新加载,就不会生效。

2024-07-18 16:25:15 404

原创 项目优化Day02-10-Nginx配置文件整体结构

注意:http块中可以配置多个server块,每个Server块中可以配置多个location块。3.http块 代理、缓存、日志记录、虚拟主机配置。​ 从文件开始,一直到events之前都是全局块。1.全局块 和Nginx运行相关的全局配置。2.events块 和网络连接相关的配置。​ 2.Events块。​ 3.Http块。​ 1.全局块。

2024-07-18 16:24:00 204

原创 项目优化Day02-11-Nginx具体应用-部署静态资源

在Nginx中,如果一个server块中没有定义,它并不会自动成为默认服务器。匹配:Nginx首先会检查请求的Host头是否与某个server块中的匹配。如果有匹配的,则使用该server块。默认服务器:如果没有找到匹配的,Nginx会选择第一个定义的server块作为默认服务器。这个规则适用于所有监听相同端口和IP地址的server块。因此,即使一个server块没有定义,它也不一定会成为默认服务器。默认服务器的确定是基于定义的顺序,而不是是否定义了。

2024-07-18 16:23:10 817

原创 项目优化Day02-12-Nginx具体应用-反向代理

​ 还有一个原因,很多情况下,公司内部的这个web服务器,他其实是在公司的一个内网当中,我们这个客户端其实是不能直接访问到这个web服务器,因为它是在某个公司内网当中,而这个反向代理服务器,他其实是对外开放的,并且它又跟这个web服务器组成了一个局域网,所以这个时候我们就只能先来访问这个反向代理服务器,然后由反向代理服务器走公司的内网,把这个请求再转发给我们真正的服务器,也就是具体的某个web服务器。正向代理的特点是一定要在客户端设置代理服务器,并且我们的客户端是知道有这个代理服务器这个角色存在的。

2024-07-18 16:22:42 503

原创 项目优化Day02-13-Nginx具体应用-负载均衡

早期的网站流量和业务功能都比较简单,单台服务器就可以满足基本需求,但是随着互联网的发展,业务流量越来越大并且业务逻辑也越来越复杂,单台服务器的性能及单点故障问题就凸显出来了,因此需要多台服务器组成应用集群,进行性能的水平扩展以及避免单点故障出现。(根据客户端的IP地址算出来一个哈希追,然后对应的把他分发到我们的某台服务器上,这样可以做到同一个IP,最终分发到我们的服务器是固定的,只要我们IP地址不变,最终分发到的都是同一台服务器)(依据响应时间,他会优先分发给响应时间短的那台服务器)

2024-07-18 16:20:07 973

原创 Linux-04-Linux安装2

​ 打开FinalShell,点击左上角的文件夹图标,,点左上角的图标,选择SSH连接。然后输入连接的名称(叫什么都可以),我这里叫瑞吉外卖CentOS7,主机写刚才Linux系统的IP地址192.168.186.255,端口号22默认不用改,然后输入用户名和密码root但是进去之后连接超时了。,出现了ip地址:192.168.137.255(这是网关) 子网掩码是前面的192.168.137.129。通过SSH连接工具就可以实现从本地连接到远程的Linux服务器。光标 移动光标。

2024-07-14 15:33:17 290

原创 项目优化Day3-01-本章内容介绍

1.问题说明:1.开发人员同时负责前端和后端代码开发,分工不明确2.开发效率低3.前后端代码混合在一个工程中,不便于管理4.对开发人员要求高,人员招聘困难。

2024-07-14 15:32:40 223

原创 项目优化Day3-02-前后端分离开发

前后端分离开发,就是在项目开发过程中,对于前端代码的开发由专门的前端开发人员负责,后端代码则由后端开发人员负责,这样既可以做到分工明确、各司其职,提高开发效率,前后端代码并行开发,可以加快项目进度。我们开发的Java程序都需要基于jdk才能运行,而前段的node.js也是起类似的作用,它使用的很多框架。前后端分离开发后,从工程结构上也会发生变化,即前后端代码不再混合在一个Maven工程中,而是分为前端工程和后端工程。​ 前端用来打包的工具,打成前端特有的js包,不是jar包也不是war包哦。

2024-07-14 15:32:10 274

原创 项目优化Day3-03-YApi介绍-使用

YApi:介绍:YApi是高效、易用、功能强大的api管理平台,旨在为开发、产品、测试人员提供更优雅的接口管理服务、可以帮助开发者轻松创建、发布、维护API,YApi还为用户提供了优秀的交互体验,开发人员只需利用平台提供的接口数据写入工具以及简单的点击操作就可以实现接口的管理。YApi让接口开发更简单高效,让接口的管理更具可读性,可维护性。让团队写作更合理。源码地址:要使用YApi,需要自己进行部署。使用方式:使用YApi,可以执行下面的操作:​ 1、添加项目​ 2、添加分类。

2024-07-14 15:30:58 251

原创 项目优化Day3-04-Swagger-介绍&使用方式&查看接口文档

Swagger:Swagger是我们在进行前后端分离开发的时候,后端人员经常使用到的技术,使用这个Swagger就可以帮助我们来生成相应的接口文档,并且通过我们生成的接口文档还可以来做测试。1.介绍:使用Swagger你只需要按照他的规范去定义接口以及接口相关的信息,再通过Swagger衍生出来的一系列项目和工具,就可以做到生成各种格式的接口文档,以及在线接口调试页面等等。官网:https://swagger.io/

2024-07-14 15:30:26 357

原创 项目优化Day3-05-Swagger-常用注解

(6) @ApiImplicitParam 用在@ApiImplicitParams注解中,指定一个请求参数的各个方面。(1) @Api 用在请求的类上,例如Controller,表示对类的说明。(5) @ApiImplicitParams 用在请求的方法上,表示一组参数的说明。(4) @ApiOperation 用在请求的方法上,说明方法的用途,作用。(3) @ApiModelProperty 用在属性上,描述响应类的属性。

2024-07-14 15:29:42 227

原创 项目优化Day3-06-项目部署-部署架构&部署环境说明

​ jar:SpringBoot项目打成jar包基于内嵌的tomcat运行。​ 192.168.138.100(服务器A)​ Nginx:部署前端项目、配置反向代理。​ MySql:主从复制结构中的主库。​ MySql:主从复制结构中的从库。​ 172.17.2.94(服务器C)​ 172.17.2.94(服务器C)​ jdk:运行Java项目。​ maven:项目构建工具。​ git:版本控制工具。

2024-07-14 15:29:06 237

原创 项目优化Day3-07-项目部署-部署前端项目

第一步:在服务器A中安装Nginx,将课程资料中的dish目录上传到Nginx的html目录下。第二步:修改Nginx配置文件nginx.conf。​ dist目录:前端项目打完包之后的目录。

2024-07-14 15:28:03 166

原创 项目优化Day3-08-项目部署-部署后端项目

我们在这个文件里面写了一些脚本,他的作用就是将我们git仓库里面的代码拉取下来,然后再通过我们maven的命令去打包,打完包之后再通过java-jar命令把我们的SpringBoot项目运行起来。有个问题就是项目启动完成以后,客户端图片显示不出来,因为我们上传图片保存到我们的D盘里面,而在Linux里面没有D盘,所以我们需要把路径改一下,改成。第一步:在服务器B中安装jdk,git,maven,MySql,使用git clone命令将git远程仓库的代码克隆下来。

2024-07-14 15:27:26 338

原创 Linux-01-Linux课程介绍

无。

2024-07-14 15:26:47 115

原创 Linux-02-Linx简介

无。

2024-07-14 15:26:15 108

原创 Linux-03-Linux安装1

虚拟机:指通过软件模拟的具有完整硬件系统功能,运行在完全隔离环境中的完整计算机系统。简单来说,就是通过一个软件来模拟计算机硬件。点进虚拟机里面鼠标不见了,点击CTRL + ALT可以弹出来。使用资料中提供的镜像文件来完成Linux系统的安装。1.物理机安装:直接将操作系统安装到服务器硬件上。2.虚拟机安装:通过虚拟机软件安装。1.Linux系统的安装方式。2.安装CentOS镜像。

2024-07-14 15:25:43 210

原创 Linux-05-Linux常用命令-本章内容介绍

无。

2024-07-14 15:24:37 133

原创 Linux-06-Linux常用命令-Linux命令初体验

​ 比如cd /root 、 rm 2.txt,里面的 /root 、2.txt就是parameter参数,或者touch 2.txt 3.txt 4.txt也行。这个文件里面去,这是我们Linux下面的一个配置文件,我们的编码方式就需要在这个配置文件里面去配置)​ 3.[parameter]:传递给命令的参数,可以是零个、一个或者多个。​ 2.[-options]:选项,可用来对命令进行控制,也可以省略。​ 1.Command:命令名(比如ls、touch、pwd这些)

2024-07-14 15:24:06 201

原创 Linux-07-Linux常用命令-文件目录操作命令-ls&-cd&-cat

​ 指代的是我们当时这个Linux用户的home目录,每一个Linux用户都对应有自己的一个home目录,这一点和我们的Windows系统非常类似。而我们的Linux也是这样的,这个~指代的就是当前用户的home目录,比如我们当前使用的是root这个用户,他所对应home目录就是这个/root,这就是他的home目录。前面有-的表示是文件,例如:-rw-------. 1 root root 1257 3月 10 2024 anaconda-ks.cfg。切换到当前目录的上级目录。

2024-07-13 16:34:40 320

原创 Linux-08-Linux常用命令-文件目录操作命令-more&-tail&-mkdir

在工作目录下的itcast目录中建立一个名为test的子目录,若itcast目录不存在,则建立一个。动态读取/itcast目录下的my.log文件末尾的内容并显示。显示/etc目录下的profile文件末尾10行的内容。显示/etc目录下的profile文件末尾20行的内容。在当前目录下,建立一个名为itcast的子目录。​ 如果tail不加任何选项,直接后面跟上文件名,以分页的方式显示/etc目录下的profile文件。,这个屏幕会被霸占掉,然后新建标签,在里面。空格键 向下滚动一屏。

2024-07-13 16:33:56 235

原创 Linux-09-Linux常用命令-文件目录操作命令-rmdir&-rm

删除itcast目录中名为test的子目录,若test目录删除后itcast为空,则也被删除。删除名为itcast的目录和目录中的所有文件,删除先需确认。无需确认,直接删除名为itcast的目录和目录中的所有文件。删除名称以itcast开头的空目录。无需确认,直接删除hello.txt文件。删除名为itcast的空目录。1.文件目录操作命令-rmdir。2.文件目录操作命令-rm。1.作用:删除文件或者目录。1.作用:删除空目录。

2024-07-13 16:32:47 143

原创 Linux-10-Linux常用命令-拷贝移动指令-cp命令

将itcast目录下所有文件复制到itheima目录下(不包括itcast这个目录,只是复制里面的文件)将itcast目录和目录下所有文件复制到itheima目录下。将hello.txt复制到当前目录,并改名为hi.txt。将hello.txt复制到itcast目录中。1.作用:用于复制文件或目录。1.移动拷贝命令-cp。

2024-07-13 16:32:16 355

原创 Linux-11-Linux常用命令-拷贝移动指令-mv命令

如果itheima目录存在,将itcast目录移动到itheima目录中。如果itheima目录不存在,将itcast目录改名为itheima。将hi.txt移动到itheima目录,并改名为hello.txt。将文件hi.txt移动到itheima目录中。1.为文件或目录改名,或将文件或目录移动到其他位置。将hello.txt改名为hi.txt。1.拷贝移动类命令-mv。

2024-07-13 16:31:37 289

原创 Linux-12-Linux常用命令-打包压缩命令-tar命令

将hello.tar.gz文件进行解压,并将解压后的文件放在/usr/local目录。对test文件进行打包,-f后面指定打包后的名字为test.tar。对test文件进行打包压缩,-f后面指定打包后的名字为test.tar。将当前目录下的所有文件打包并压缩,打包后的文件名为hello.tar.gz。将hello.tar.gz文件进行解压,并将解压后的文件放在当前目录。将hello.tar文件进行解包,并将解包后的文件放在当前目录。将当前目录下的所有文件打包,打包后的文件名为hello.tar。

2024-07-13 16:31:07 344

原创 Linux-13-Linux常用命令-文本编辑命令-vim

​ 1.vim是从vi发展来的一个功能更加强大的文本编辑工具,在编辑文本时可以对文本内容进行着色,方便我们对文件进行编辑处理,所以实际工作中bim更加常用。​ 2.在命令模式下按下[i,a,o]任意一个,可以进入插入模式。​ 1.在使用vim命令编辑文件时,如果指定的文件存在则打开此文件。​ 2.在命令模式下按下[: /]任意一个,可以进入底行模式。​ 3.通过/方式进入底行模式后,可以对文件内容进行查找。​ 3.在插入模式下按下ESC键,回到命令模式。

2024-07-13 16:30:28 295

原创 Linux-14-Linux常用命令-查找命令-find和-grep

查找当前目录中所有.java结尾的文件中包含hello字符串的位置。查找HelloWorld.java文件中出现的Hello字符串的位置。​ 如果*.java没加"",只会找到当前目录下的符合条件的文件。​ -option:一般指定-name,根据文件的名称来找。在/itcast目录及其子目录下查找.java结尾的文件。在当前目录及其子目录下查找.java结尾的文件。​ fileName:从哪个文件里面去找。作用:从指定文件中查找指定的文本内容。​ word:查找的是哪个文本。

2024-07-13 16:29:58 307

原创 Linux-15-软件安装-本章内容介绍

无。

2024-07-13 16:29:28 293

原创 Linux-16-软件安装-软件安装方式&安装jdk

比如说我们现在要安装一个软件A,而这个A依赖了另一个软件B才能正常安装,但是他这个包里面并没有把这个软件B一块打进去,这个时候我们在安装这个软件的时候就有可能失败。比如说我们开发的一些Java程序,我们在开发环境下面肯定开发的都是源代码,最终项目上线的话我们需要给他打成对应的jar包。​ 一种在线软件安装方式,本质上还是rpm安装,自动下载安装包并安装,安装过程中自动解决库依赖问题。​ 软件已经按照redhat的包管理规范进行打包,使用rpm命令进行安装,不能自行解决库依赖问题。

2024-07-13 16:28:57 276

原创 Linux-17-软件安装-安装Tomcat

因为默认情况下,Linux系统它的防火墙默认是开启的,也正是因为它是开启状态,所以我们是访问不到Linux系统里面的8080端口的。​ 1.查看启动日志(Tomcat在启动的时候,会把启动日志记录到这个日志文件里面logs/catalina.out,我们可以查看这个文件里面有没有异常信息,​ ps命令类似于Windows系统中的任务管理器,可以在任务管理器里面查看进程,通过ps这个命令,就可以查看Linux下面的进程,​ 3.进入Tomcat的bin目录启动服务,命令为。

2024-07-13 16:28:23 362

photosetup.exe

photosetup.exe

2022-01-14

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除