自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Nginx负载均衡的4种方式 :轮询-Round Robin 、Ip地址-ip_hash、最少连接-least_conn、加权-weight=n

负载均衡的概念:Load Balance负载均衡是用于解决一台机器(一个进程)无法解决所有请求而产生的一种算法。我们知道单台服务器的性能是有上限的,当流量很大时,就需要使用多台服务器来共同提供服务,这就是所谓的集群。负载均衡服务器,就是用来把经过它的流量,按照某种方法,分配到集群中的各台服务器上。这样一来不仅可以承担更大的流量、降低服务的延迟,还可以避免单点故障造成服务不可用。一般的反向代理服务器,都具备负载均衡的功能。负载均衡功能可以由硬件来提供,比如以前的F5设备。也可以由软件来提供,LVS

2021-06-29 16:35:48 2817

原创 导出jvm的内存快照进行分析

查找对应的进程id(PID)linux下使用ps aux|grep java找出PID后jmap -dump:format=b,file=/usr/local test1.hprof 2778jmap -dump:format=b,file=/usr/local test1.hprof 2778Attaching to core 2778 from executable test1.hprof, please wait...Error attaching to core file: canno

2021-06-28 09:33:02 904

原创 Linux服务器authorized_keys添加公钥后登录仍需要密码

在服务器的 ~/.ssh/authorized_keys 文件内加入自己的公钥, 按理说下次在有该公钥的机器登录服务器时可以免密登录。但在一台服务器上遇到无法免密登录的情况。解决方案造成这个问题的原因是 ~/.ssh 文件夹和authorized_keys id_rsa.pub,文件夹内的文件权限不对。cd ~chmod 700 .sshcd .sshchmod 644 authorized_keys id_rsa.pubchmod 600 id_rsa更改文件夹和文件为合适的权限后即可实

2021-06-09 08:49:10 2633 2

原创 Linux用scp实现无密码传输文件和目录(使用密钥)

一.SCP简介SCP(Secure Copy,安全复制)是一个在远程(本地与远程)服务器间安全的进行文件传输的方法。它以SSH协议为基础,使用SSH协议的22端口。二.SCP无密码传输原理将来源服务器A中的密钥文件 “./.ssh/id_rsa.pub"内容, 拷贝到目标服务器B的”./.ssh/authorized_keys",建立信任关系。在远程拷贝的时候,需要配置scp的 无密码 复制文件和目录。在编写Shell脚本的时候非常有用,你不希望shell脚本在执行过程中因为要检验密码被打断而报权限

2021-06-07 11:28:45 5647

原创 linux使用shell脚本利用expect工具实现SCP传输文件到多台服务器

1、安装expectyum install expect2、设置服务器地址,用户名,密码,源路径,目标路径新建文件host.txt添加如下内容192.168.0.135 root 密码 源路径 目标路径192.168.0.136 root 密码 源路径 目标路径192.168.0.137 root 密码 源路径 目标路径# 实例192.168.128.133 root root /usr/local/shell/test1.txt /usr/local3、添加expect执行脚本: c

2021-06-04 18:26:20 2147

原创 用SQL命令查看Mysql数据库大小

要想知道每个数据库的大小的话,步骤如下:1、进入information_schema 数据库(存放了其他的数据库的信息)use information_schema;2、查询所有数据的大小:select concat(round(sum(data_length/1024/1024),2),‘MB’) as data from tables;3、查看指定数据库的大小:比如查看数据库home的大小select concat(round(sum(data_length/1024/1024),2),‘

2021-06-04 10:27:03 365

原创 CentOS 7 使用ip addr查询不到IP

CentOS 7 使用ip addr查询不到IP原因:发现 ens33 没有 inet 这个属性,那么就没法通过IP地址连接虚拟机。查看ens33 网卡的配置: vi /etc/sysconfig/network-scripts/ifcfg-ens33从配置中可以发现 CentOS 7 默认是不启动网卡的(ONBOOT=no)。把这一项改为YES(ONBOOT=yes)重启网络服务: sudo service network restart已经可以了。...

2021-06-03 15:17:05 273

原创 linux的网络配置有线线缆被拔出

背景:在win10 系统中的虚机软件VMware Workstation中安装CentOS7,安装过程中没有设置网络,等安装完后才设置的(其实这个没有影响)。后来发现死活都是“有线线缆被拔出”。解决问题的道路是艰辛的,特别是linux系统的问题。1.确认你win10系统打开了这两个服务:VMware DHCP Service和VMware NAT Service方法:电脑——右键——管理——服务和应用程序——服务——找到这两服务手动打开(右键——启动)2.在虚机软件中右键——设置——网络适配器——

2021-06-03 14:47:05 2447 1

原创 阿里云服务器Centos7 activiti 流程图中文乱码解决办法

如果程序在本地正常使用(不乱码),到linux服务器不正常(乱码)。首先考虑乱码是因为Centos没有中文字体,所以要安装中文字体,即可解决乱码问题。要用到的字体 window系统已经存在,我们只需要复制出来即可。路径:C:\Windows\Fonts\ ,复制出simhei.ttf、simsun.ttc中文字体备份。或者找到技术群China包中字体备份。打开准备好的china包中两个中文字体备份。进入centos语言目录 /usr/share/fonts,创建china目录并进入。

2021-06-03 14:15:07 492

原创 查看服务器的性能和使用状态(top,free,df)

查看服务器的cpu情况TopPID: 进程ID,进程的唯一标识符USER:进程所有者的实际用户名。PR:进程的调度优先级。这个字段的一些值是’rt’。这意味这这些进程运行在实时态。NI:进程的nice值(优先级)。越小的值意味着越高的优先级。VIRT:进程使用的虚拟内存。RES:驻留内存大小。驻留内存是任务使用的非交换物理内存大小。SHR:SHR是进程使用的共享内存。S:这个是进程的状态。它有以下不同的值:D – 不可中断的睡眠态。R – 运行态S – 睡眠态T – 被

2021-06-02 15:29:20 2185

原创 PicGo+码云(gitee)图床环境搭建

PicGo+码云(gitee)图床环境搭建前言本地写markdown使用Typora因为图片在本地,上传到其他博客上的时候,图片处理实在麻烦,之前也不知道什么是图床。这几天就一直在搞这个事情,最终是成功了,分享下自己的解决的小方法需要软件PicGo --> 通过typora点击上面的箭头,直接下载,点击安装就好了node.js安装gitee插件的时候,需要提示安装node.js我电脑上原本已经存在,现在就直接安装了。准备码云库生成私人令牌注意:此另外一定牢

2021-05-13 12:48:11 151 1

原创 History命令的显示带时间

在linux系统里面肯定经常使用history来查看历史命令,但是,一般的history命令只显示了命令,并没有显示命令的时间。我们执行 echo ‘export HISTTIMEFORMAT="%F %T"’ >>/etc/profile 之后,然后source /etc/profile。history命令就可以显示时间。echo 'export HISTTIMEFORMAT="%F %T"' >>/etc/profilesource /etc/profilehist

2021-05-11 09:11:29 7760

原创 springmvc07 Json处理

七、Json处理7.1 导入依赖<!-- Jackson springMVC默认的Json解决方案选择是 Jackson,所以只需要导入jackson的jar,即可使用。--><dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <version>

2021-05-10 09:23:19 115

原创 springmvc06 静态资源

六、静态资源6.1 静态资源问题静态资源:html,js文件,css文件,图片文件静态文件没有url-pattern,所以默认是访问不到的,之所以可以访问,是因为,tomcat中有一个全局的servlet:org.apache.catalina.servlets.DefaultServlet,它的url-pattern是 “/”,是全局默认的Servlet. 所以每个项目中不能匹配的静态资源的请求,有这个Servlet来处理即可。但,在SpringMVC中DispatcherServl

2021-05-10 09:23:09 97

原创 springmvc05 传值

五、传值1. request和response对象是由服务器创建的。我们来使用它们2. request对象是来获取请求消息,response对象是来设置响应消息C得到数据后,跳转到V,并向V传递数据。进而V中可以渲染数据,让用户看到含有数据的页面转发跳转:Request作用域重定向跳转:Session作用域5.1 Request和Session//形参中 即可获得 request 和 session对象@RequestMapping("/test1")public String t

2021-05-10 09:23:00 72

原创 springmvc04跳转

四、跳转4.1 转发@RequestMapping("/forw")class ForwardController{ @RequestMapping("/test1") public String testForward(){ System.out.println("test forward1"); // 转发跳转 /views/users.jsp // return "views/users";//和下一行等价 ret

2021-05-10 09:22:50 172 2

原创 springmvc03 接收请求参数

3.1 基本类型参数请求参数和方法的形参 同名即可springMVC默认可以识别的日期字符串格式为: YYYY/MM/dd HH:mm:ss通过@DateTimeFormat可以修改默认日志格式 //网页端输入: http://xxxx/param/test1?id=1&name=shine&gender=true&birth=2020/12/12 12:13:20 @RequestMapping("/test1") public String tes

2021-05-10 09:22:41 77

原创 springmvc01

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-L2R5X7eV-1620206396686)(Pictures/logo.jpg)]Author:ShineVersion:9.0.2文章目录一、SpringMVC1.1 引言1.2 MVC架构1.2.1 概念1.2.2 好处二、开发流程2.1 导入依赖2.2 配置核心(前端)控制器2.3 后端控制器2.4 配置文件2.5 访问一、SpringMVC1.1 引言java开源框架,Spring Framewor

2021-05-10 09:22:28 89

原创 MyBatis03

十一、动态SQL【重点】MyBatis的映射文件中支持在基础SQL上添加一些逻辑操作,并动态拼接成完整的SQL之后再执行,以达到SQL复用、简化编程的效果。11.1 < sql ><mapper namespace="com.qf.mybatis.part2.dynamic.BookDao"> <sql id="BOOKS_FIELD"> <!-- 定义SQL片段 --> SELECT id,name,author,publ

2021-05-10 09:11:23 211

原创 MyBatis学习02

八、MyBatis工具类【重点】8.1 封装工具类Resource:用于获得读取配置文件的IO对象,耗费资源,建议通过IO一次性读取所有所需要的数据。SqlSessionFactory:SqlSession工厂类,内存占用多,耗费资源,建议每个应用只创建一个对象。SqlSession:相当于Connection,可控制事务,应为线程私有,不被多线程共享。将获得连接、关闭连接、提交事务、回滚事务、获得接口实现类等方法进行封装。package com.qf.mybatis.

2021-05-10 09:11:02 75

原创 Nginx实现负载均衡

负载均衡的作用负载均衡:分摊到多个操作单元上进行执行,和它的英文名称很匹配。就是我们需要一个调度者,保证所有后端服务器都将性能充分发挥,从而保持服务器集群的整体性能最优,这就是负载均衡。负载均衡算法源地址哈希法:根据获取客户端的IP地址,通过哈希函数计算得到一个数值,用该数值对服务器列表的大小进行取模运算,得到的结果便是客服端要访问服务器的序号。采用源地址哈希法进行负载均衡,同一IP地址的客户端,当后端服务器列表不变时,它每次都会映射到同一台后端服务器进行访问。轮询法:将请求按顺序轮流地分

2021-05-08 15:34:48 109

原创 Linux排查java程序CPU占用过高问题

项目部署到服务器上之后,偶尔出现CPU被java程序占满的情况。现在排查问题原因top首先查看系统资源占用信息,使用命令top发现正在运行的JAVA项目CPU占用率如果很高,那问题肯定出在这个程序中。top -H -p[进程ID]得到进程ID后,我们需要获取到具体的线程ID,然后用jstack分析。top -H -p[进程ID]需要将线程ID转换为十六进制,直接在Linux中即可转换。printf “%x\n” [线程十进制数]补充:\n只为换行显示,单纯的转换只需要%x 即可p

2021-05-08 15:16:20 459

原创 CentOS添加新角色(新增一个具有root权限的新用户)

首先执行如下命令新建个 zy 用户。useradd zy接着执行下面命令对其设置密码passwd zy会警告密码字符少,重复输入密码即可。将查看 /etc/sudoers 文件权限,如果是只读权限,修将其改为可写权限。ll /etc/sudoerschmod 777 /etc/sudoers使用 vi /etc/sudoers 命令进行编辑,在 root ALL=(ALL) ALL 下方添加需要提升权限的用户信息:不能使用,可能还没安装,使用命令安装,如下y.

2021-04-28 16:41:46 575

原创 MyBatis学习笔记01

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-sYxkvxZx-1618925079571)(Pictures/001.png)]Author:AaronVersion:9.0.2文章目录一、引言1.1 什么是框架?1.2 什么是ORM框架?1.3 使用JDBC完成ORM操作的缺点?二、MyBatis框架2.1 概念2.2 访问与下载三、构建Maven项目3.1 新建项目3.2 选择Maven目录3.3 GAV坐标四、MyBatis环境搭建【`重点`】4.1 pom

2021-04-21 15:43:08 153

原创 MySQL8.0.20安装和Windows的cmd指令切换路径

mysql8 的安装先比较之前的版本复杂了一些,下面就一步一步安装。下载到 mysql官网 下载最新版本的mysql下载完成后解压,并新建my.ini文件my.ini 文件配置my.ini文件内容:[mysqld]# 设置3306端口port=3306# 设置mysql的安装目录basedir=C:\Program Files\mysql-8.0.20-winx64# 设置mysql数据库的数据的存放目录datadir=C:\Program Files\mysql-8.0.20-

2021-04-20 10:02:45 484

原创 JavaWeb

该笔记大部分搬运B站遇见狂神说的javaWeb,顺便把图文合并记录,便于回顾视频地址:https://www.bilibili.com/video/BV12J411M7Sj 记得三连文章目录1、基本概念1.1、前言1.2、web应用程序web应用程序:1.3、静态web1.4、 动态web2、web服务器2.1、技术讲解2.2、web服务器3、Tomcat3.1安装tomcat tomcat3.2、Tomcat启动和配置3.3、配置3.4、发布一个we

2021-04-14 10:59:03 213

原创 git clone 解决Permission Denied (publickey)问题

转载:https://blog.csdn.net/sxg0205/article/details/81412921本地git bash 使用git clone [email protected]:***.git方式下载github代码至本地时需要依赖ssh key,遇到权限不足问题时一般都是SSH key失效或者SSH key不存在,重新创建SSH key一般就可以解决问题;步骤一、检查本地ssh key是否存在1、windows下 开始 -- 搜索框输入 git bash,打开git bash窗口;2

2021-04-12 18:41:29 417

原创 码云克隆项目到IntelliJ IDEA中

将项目从码云上克隆到IntelliJ IDEA中你首先要做的是1.插件安装方法:启动IDEA选择File-Settings-plugins搜索gitee,安装此插件重启idea2.在idea中设置并登录码云拉取项目。在码云上找到要clone的项目获取地址从码云上克隆ruoyi项目补充:...

2021-04-12 18:35:47 292

原创 Mysql 的uuid()函数以及replace()函数使用

一、uuid介绍在 MySQL 中,可以有如下几种途径实现唯一值:自增序列UUID() 函数程序自定义UUID 基于 16 进制,由 32 位小写的 16 进制数字组成,如下:aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeeeMySQL 实现了 UUID,并且提供 UUID() 函数方便用户生成 UUID。在 MySQL 的 UUID() 函数中,前三组数字从时间戳中生成,第四组数字暂时保持时间戳的唯一性,第五组数字是一个 IEEE 802 节点标点值,保证空间唯

2021-04-09 17:03:48 2338

原创 springboot17 集成SpringSecurity

17、集成SpringSecurity17.1、安全简介在 Web 开发中,安全一直是非常重要的一个方面。安全虽然属于应用的非功能性需求,但是应该在应用开发的初期就考虑进来。如果在应用开发的后期才考虑安全的问题,就可能陷入一个两难的境地:一方面,应用存在严重的安全漏洞,无法满足用户的要求,并可能造成用户的隐私数据被攻击者窃取;另一方面,应用的基本架构已经确定,要修复安全漏洞,可能需要对系统的架构做出比较重大的调整,因而需要更多的开发时间,影响应用的发布进程。因此,从应用开发的第一天就应该把安全相关的因素

2021-03-30 19:49:10 167 3

原创 springboot16 整合MyBatis

官方文档:http://mybatis.org/spring-boot-starter/mybatis-spring-boot-autoconfigure/Maven仓库地址:https://mvnrepository.com/artifact/org.mybatis.spring.boot/mybatis-spring-boot-starter/2.1.416.1、整合测试1、导入 MyBatis 所需要的依赖<dependency> <groupId>org.m

2021-03-30 19:05:01 65

原创 springboot15 集成Druid(德鲁伊)

15、整合Druid15.1、Druid简介Java程序很大一部分要操作数据库,为了提高性能操作数据库的时候,又不得不使用数据库连接池。Druid 是阿里巴巴开源平台上一个数据库连接池实现,结合了 C3P0、DBCP 等 DB 池的优点,同时加入了日志监控。Druid 可以很好的监控 DB 池连接和 SQL 的执行情况,天生就是针对监控而生的 DB 连接池。Druid已经在阿里巴巴部署了超过600个应用,经过一年多生产环境大规模部署的严苛考验。Spring Boot 2.0 以上默认使用 Hik

2021-03-30 15:13:44 322

原创 springboot14 整合JDBC

14、整合JDBC14.1、SpringData简介对于数据访问层,无论是 SQL(关系型数据库) 还是 NOSQL(非关系型数据库),Spring Boot 底层都是采用 Spring Data 的方式进行统一处理。Spring Boot 底层都是采用 Spring Data 的方式进行统一处理各种数据库,Spring Data 也是 Spring 中与 Spring Boot、Spring Cloud 等齐名的知名项目。Sping Data 官网:https://spring.io/projec

2021-03-30 10:16:04 129

原创 springboot13 页面国际化(i18n)

员工管理系统1、首页配置:注意点,所有也免得静态资源都需要使用thymeleaf接管;2、页面国际化配置i18n文件如果需要在项目中进行按钮自动切换,我们需要自定义一个组件LocaleResolver将自己写的组件配置到spring容器中----@Bean#{}3、登录 + 拦截器4、员工列表展示提取公共页面th:fragment=“sidebar”如果要传递参数,可以直接使用()传参,接收判断即可列表循环展示5、添加员工按钮提交跳转到添加页面添加成功返回首页6、C

2021-03-29 12:20:13 330

原创 springboot12 MVC自动配置原理

12、MVC自动配置原理12.1、官网阅读在进行项目编写前,我们还需要知道一个东西,就是SpringBoot对我们的SpringMVC还做了哪些配置,包括如何扩展,如何定制。只有把这些都搞清楚了,我们在之后使用才会更加得心应手。途径一:源码分析,途径二:官方文档!地址 :https://docs.spring.io/spring-boot/docs/2.2.5.RELEASE/reference/htmlsingle/#boot-features-spring-mvc-auto-configurat

2021-03-28 23:02:08 71

原创 springboot11 模板引擎

11、模板引擎前端交给我们的页面,是html页面。如果是我们以前开发,我们需要把他们转成jsp页面,jsp好处就是当我们查出一些数据转发到JSP页面以后,我们可以用jsp轻松实现数据的显示,及交互等。jsp支持非常强大的功能,包括能写Java代码,但是呢,我们现在的这种情况,SpringBoot这个项目首先是以jar的方式,不是war,像第二,我们用的还是嵌入式的Tomcat,所以呢,他现在默认是不支持jsp的。那不支持jsp,如果我们直接用纯静态页面的方式,那给我们开发会带来非常大的麻烦,那怎么办呢

2021-03-28 17:30:30 95

原创 springboot10 Web开发静态资源

10、Web开发静态资源处理接下来呢,开始学习SpringBoot与Web开发,其实SpringBoot的东西用起来非常简单,因为SpringBoot最大的特点就是自动装配。使用SpringBoot的步骤:1、创建一个SpringBoot应用,选择我们需要的模块,SpringBoot就会默认将我们的需要的模块自动配置好2、手动在配置文件中配置部分配置项目就可以运行起来了3、专注编写业务代码,不需要考虑以前那样一大堆的配置了。要熟悉掌握开发,之前学习的自动配置的原理一定要搞明白!比如Spring

2021-03-28 16:22:24 213

原创 springboot08 自动配置原理

8、自动配置原理配置文件到底能写什么?怎么写?SpringBoot官方文档中有大量的配置,我们无法全部记住8.1、分析自动配置原理我们以**HttpEncodingAutoConfiguration(Http编码自动配置)**为例解释自动配置原理;//表示这是一个配置类,和以前编写的配置文件一样,也可以给容器中添加组件;@Configuration //启动指定类的ConfigurationProperties功能; //进入这个HttpProperties查看,将配置文件中对应的值和H

2021-03-27 16:32:47 50

原创 springboot07多环境切换

7 多环境切换profile是Spring对不同环境提供不同配置功能的支持,可以通过激活不同的环境版本,实现快速切换环境;7.1 多配置文件我们在主配置文件编写的时候,文件名可以是 application-{profile}.properties/yml , 用来指定多个环境版本;例如:application-test.properties 代表测试环境配置application-dev.properties 代表开发环境配置但是Springboot并不会直接启动这些配置文件,它默认使用app

2021-03-27 16:03:17 64

原创 SpringBoot 笔记

SpringBoot1、 SpringBoot简介1.1、回顾什么是SpringSpring是一个开源框架,2003 年兴起的一个轻量级的Java 开发框架,作者:Rod Johnson 。Spring是为了解决企业级应用开发的复杂性而创建的,简化开发。1.2、Spring是如何简化Java开发的为了降低Java开发的复杂性,Spring采用了以下4种关键策略:1、基于POJO的轻量级和最小侵入性编程,所有东西都是bean;2、通过IOC,依赖注入(DI)和面向接口实现松耦合;3、基于切面

2021-03-27 15:03:39 388

思维导图.zip

思维导图.zip

2021-04-19

SSM笔记和代码.rar

SSM笔记和代码.rar

2021-04-18

空空如也

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

TA关注的人

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