自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

与李的博客

一个热爱学习的95后程序猿

  • 博客(74)
  • 资源 (9)
  • 收藏
  • 关注

原创 ELK分布式日志解决方案

一、简介ELK,包含三个产品,Elasticsearch、Logstash、Kibana。在整个方案中,他们起到的作用如下:应用服务生产日志,通过Logger产生日志并输出。Logstash收集日志,通过http接收应用服务产生的日志。Elasticsearch为日志提供全文检索功能。kibana为Elasticsearch提供图形化界面。二、安装过程环境本文使用docker-compose启动elk,所以需要先安装好docker与docker-compose。教程分

2020-09-28 17:43:32 1154

原创 docker-compose配置gitlab与nginx使用https协议进行代码管理

本文介绍的是在通过编写docker-compose.yml文件启动gitlab服务,并使用https协议进行代码的加密传输。环境:阿里云centos7.3服务器;docker 18.03.1-ce;gitlab-ce-zh。本服务器绑定了域名code.example.com。相关文章链接:《还不会安装docker?这里帮你搞定》、《如何安装docker-compose》。阿里云的https申请需要在阿里云控制台进行申请,然后可以下载配置nginx的秘钥。最终可以得到两个文件,一个是***.pe.

2020-09-15 14:16:04 1104

原创 如何安装docker-compose

下载离线包网址:https://github.com/docker/compose/releases 建议找到下载链接后使用迅雷新建下载,这样能解决GitHub下载慢的问题。 然后将二进制文件上传到/usr/local/bin目录。 使用mv命令重命名:$ mv /usr/local/bin/docker-compose-Linux-x86_64 /usr/local/bin/docker-compose 再授予可执行权限:$ chmod +x /usr/local/bin/docke.

2020-09-15 13:43:38 1112

原创 Idea携带证书连接远程docker

说明:本文与《docker remote api一键TSL加密》具有一定的关联性,下文中引用到的内容都会被单独标注出来。先决条件:docker开启了远程接口功能$ vim /usr/lib/systemd/system/docker.serviceExecStart=/usr/bin/dockerd \ --tlsverify \ --tlscacert=/root/tls/pem/ca.pem \ --tlscert=/root/tls/pem

2020-09-14 14:50:00 1163

原创 从源码角度理解spring.factories

本文中SpringBoot版本为2.3.2.RELEASE在阅读SpringBoot相关源码时,经常会看到resocures/META-INF文件夹下的spring.factories文件,里面写了自动配置(AutoConfiguration)相关的类名。因此产生了一个疑问:“已经给类打上了@Configuration,为什么还要写spring.factories这个文件?”想要弄清楚这个问题,得从@SpringBootApplication这个启动类上的注解开始。查看@SpringBootA.

2020-09-12 10:36:29 1103

原创 消息队列使用场景

一、异步处理在一些场景中,为了让用户得到更快的体验,往往会使用一些异步调用的手段使得响应时间更快。举一个大家都很熟悉的例子:用户注册时,将用户信息写入数据库后,还要给用户发送注册邮件与注册短信。流程图:按照上图的设计模式,用户的到响应的时间为t1+t2+t3。思考一下,其实发送邮件和短信与下一步程序处理没有逻辑关系。所以用户完全不需要等待他们执行完才得到响应。这时可以考虑将t2与t3这段逻辑异步处理,这样用户就只需要等待t1时间就能快速得到响应。异步处理可以用异步线程,也可以用消息队列。但是

2020-09-11 15:54:32 1143

原创 RabbitMQ (三) 消息订阅模式

一、广播模式(fanout)把交换机(Exchange)收到的消息发送给所有绑定了该交换机的队列,忽略路由(RoutingKey)。这种模式下,消息会被所有消费者消费。也就是说,只要是"绑定"到某个交换机的队列,都会收到生产者发送到该交换机的消息。二、路由模式(direct)生产者发送信息时,需要指定一个路由(RoutingKey),交换机(Exchange)会根据路由将消息发送到绑定了此路由的队列中。三、主题模式(topic)在实际的运用中,广播模式(fanout)和路

2020-09-11 14:30:05 1233

原创 RabbitMQ (二) 安装说明

一、windows下载软件包rabbitmqrabbitmq下载页面https://www.rabbitmq.com/install-windows.html#installerrabbitmq下载链接https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.8.8/rabbitmq-server-3.8.8.exeerlang安装rabbitmq之前需要安装erlang。erlang下载页面:https://

2020-09-11 12:55:08 1223

转载 RabbitMQ (一) 简介和基本概念

一、简介MQ全称为Message Queue, 消息队列(MQ)是一种应用程序对应用程序的通信方法。应用程序通过读写出入队列的消息(针对应用程序的数据)来通信,而无需专用连接来链接它们。消息传递指的是程序之间通过在消息中发送数据进行通信,而不是通过直接调用彼此来通信,直接调用通常是用于诸如远程过程调用的技术(RPC)。排队指的是应用程序通过队列来通信。队列的使用除去了接收和发送应用程序同时执行的要求。AMQP(Advanced Message Queuing Protocol)高级消息队列协议是应用

2020-09-11 10:48:09 1298

原创 关于mysql事务,你还没搞清楚吗

一、ACID 一个模块,是多个独立的功能逻辑的组合,每个功能包含多个操作步骤,包括IO、计算、数据库等操作,必须保证每一步都被执行,且执行正确,这个功能和模块才是可用,可交付的。 那么,如何保证这些操作的完整性,就是Atomic,定义为一个原子操作,全部执行且成功,或者全部失败都不执行(回滚),原子操作如果成功,那状态就必须持久,被称为数据库的Durability,持久性。原子性A、持久性D,这俩个都比较好理解,定义了事务的边界,行为的开始和行为的结束一致性C、隔离性I,就是对事务中间状态的管

2020-09-09 18:08:33 1298

原创 docker remote api一键TLS加密

最近公司服务器被挖矿了,最后原因定位到docker的2375端口。让我们来理一下,最开始发现docker中莫名其妙多了几个镜像和正在运行的容器,而且很吃CPU,且2375端口未设置ip访问规则,意思就是所有人都可以通过你的2375端口操作你的docekr,且用启动容器挂载宿主机文件夹,因为docker使用root权限启动的,所以所有人都可以通过你的2375端口以root用户控制你的宿主机。下面讲一下我们的应对步骤:1、修改docker的2375端口为另外的端口,这只是权宜之计。$ vi /usr/l

2020-09-09 11:38:35 1387 2

原创 解决Linux docker中的mysql区分大小写问题

注:mysql5.7为本例docker中mysql容器的名称。进入mysql容器:$ docker exec -it mysql5.7 /bin/bash以root用户登录mysql:$ mysql -u root -p查看当前mysql的大小写敏感配置:$ show global variables like '%lower_case%';lower_case_file_system表示当前系统文件是否大小写敏感,只读参数,无法修改。ON表示大小写不敏感。OFF表示大小写敏感。

2020-09-08 12:50:56 1420

原创 docker中使用OpenJDK引发的错误

错误代码:Caused by: java.lang.NullPointerException: null at sun.awt.FontConfiguration.getVersion(FontConfiguration.java:1264) at sun.awt.FontConfiguration.readFontConfigFile(FontConfiguration.java:219) at sun.awt.FontConfiguration.init(FontConfiguration.ja

2020-09-04 20:54:49 1516

原创 记一次Linux挖矿程序解决经历

注意:线上当时没截图,以下截图均为解决问题后截取的。使用top命令可看到CPU使用180%~200%。$ top使用free -m 查看内存使用情况,此时内存并没多少占用。$ free -m系统符合被挖矿特征,同时阿里云控制台也检测到疑似被挖矿程序入侵。首先通过top命令可以查看到进程的pid:可以通过ls -l /proc/xxx/exe命令查找到进程对应资源的位置,xxx表示进程的pid。# xxx为pid$ ls -l /proc/xxx/exe查找到文件位置之后,就

2020-09-04 13:23:13 1417

原创 docker中使用jenkins部署vue项目

docker中安装jenkins请参考文章《Jenkins-在docker中的持续集成》。一、安装node环境:官网下载node_v14,建议使用迅雷下载,比较快。地址:https://nodejs.org/dist/latest/node-v14.8.0-linux-x64.tar.gz下载后上传到服务器/root/download/下,并解压:$ tar -zxvf node-v14.8.0-linux-x64.tar.gz -C ./重命名:$ mv node-v14.8.0-lin

2020-08-14 10:54:26 1303

原创 解决Jenkins中的docker in docker问题

问题:在docker容器中的jenkins无法执行docker命令。解决:编写Dockerfile:FROM 192.168.0.150:9000/pension/jenkins:2.251USER root#清除了基础镜像设置的源,切换成阿里云源RUN echo '' > /etc/apt/sources.list.d/jessie-backports.list \ && echo "deb http://mirrors.aliyun.com/debian jes

2020-08-12 14:06:28 1402

原创 搞懂Java类加载中的双亲委派机制

一、

2020-08-11 13:36:24 1292

原创 Jenkins-在docker中的持续集成

一、安装docker安装请移步《还不会安装docker?这里帮你搞定》。拉jenkins镜像建议拉2.222.1版本,因为安装插件时,很多插件不支持低版本的jenkins安装。$ docker pull jenkins/jenkins:2.222.1

2020-08-11 13:19:38 1467 2

原创 使用docker-compose安装GitLab中文社区版

一、安装docker-compose参考文章《Harbor-企业级docker私服管理》二、编写docker-compose.ymlversion: '3'services: gitlab: image: 'twang2218/gitlab-ce-zh:latest' restart: always hostname: '192.168.0.103' environment: TZ: 'Asia/Shanghai' GITLAB_OM

2020-08-04 18:13:06 1446

原创 GitLab-docker中的安装与实践

一、GitLab GitLab是一个利用 Ruby on Rails 开发的开源应用程序,实现一个自托管的Git项目仓库,可通过Web界面进行访问公开的或者私人项目。 它拥有与Github类似的功能,能够浏览源代码,管理缺陷和注释。可以管理团队对仓库的访问,它非常易于浏览提交过的版本并提供一个文件历史库。它还提供一个代码片段收集功能可以轻松实现代码复用,便于日后有需要的时候进行查找。二、docker中安装gitlab搜索镜像$ docker search gitlab拉镜像$ doc

2020-08-04 14:52:59 1348

原创 Harbor-企业级docker私服管理

本例使用harbor进行管理,至于harbor的优缺点,大家可以自行百度,便于得到更全面的认识。首先需要安装docker compose查看pip版本$ pip -v上一条语句没有显示版本信息则运行下面语句安装 python-pip$ yum -y install epel-release$ yum -y install python-pip查看pip版本$ pip -vpip进行升级$ pip install --upgrade pip安装python运行环境

2020-08-03 14:31:34 1414

原创 卸载并重装docker

卸载查看已安装的docker:$ yum list installed|grep docker删除docker:$ yum -y remove docker.x86_64 docker-client.x86_64 docker-common.x86_64删除已有镜像和容器(慎重,根据需要执行):$ rm -rf /var/lib/docker安装docker查看docker-ce列表:$ yum list docker-ce --showduplicates | sort -r

2020-08-03 11:55:20 1459

原创 CentOS误删python导致yum不可用的完美解决办法

 CentOS7中自带的是python27环境,博主因为误删python环境,而yum中使用到了python环境,所以导致使用yum时报错:解决方案 卸载和删除python、yum的残留文件,再下载自己虚拟机版本对应的python、yum包进行强制安装。具体步骤强制删除python已安装程序及其关联:$ rpm -qa|grep python|xargs rpm -ev --allmatches --nodeps删除残余python文件:$ whereis python |xargs rm

2020-08-03 11:29:25 1368 1

原创 搞定Spring的BeanFactory和FactoryBean

一、

2020-08-02 17:59:14 1370

原创 docker部署之私服管理

一、简介 docker私服是存放镜像的本地仓库,类似于docker hub。不过私服是本地的仓库,方便自己公司部署管理由微服务打包成的docker镜像。 话不多说,通过一个例子,教你快速搭建docker私服。二、registry搭建docker搭建如果没有安装虚拟机,可以参考文章《VMware安装Centos7并联网使用》docker安装参考文章《还不会安装docker?这里帮你搞定》启动docker$ systemctl start docker拉取registry镜像$ d

2020-08-02 17:55:14 1434

原创 docker常用命令小白篇

一、Docker常用命令systemctl start docker启动dockersystemctl restart docker重启dockersystemctl stop docker停止dockersystemctl status docker查看docker状态docker search [name]搜索名为name的镜像,如docker search tomcatdocker pull [name]:[version]拉取版本为version的name镜像到本地,如d

2020-08-02 09:39:58 1359

原创 从零到一搭建一个SpringCloud2.0项目

一、

2020-07-21 13:28:28 1379

原创 你真的了解Jpa吗?

一、

2020-07-19 01:14:43 1414 1

原创 ThreadLocal究竟是个啥?

一、关于 ThreadLocal不是一个线程,而是一个线程的本地化对象,当某个变量在使用ThreadLocal维护时,它会在每个线程中创建独立的一个副本,不同线程中对这个变量的修改不会影响到其他线程中这个变量的值。 ThreadLocal采用了空间换时间的思想,主要用来实现多线程环境下线程安全和保存线程上下文中的变量。 可以笼统的理解它为线程范围下的全局变量存储对象。二、APIpublic void set(T value) {}将T类型的值设置到ThreadLocal中public T g

2020-07-18 16:27:51 1348 1

原创 从零到一搭建一个SpringBoot2.0项目

一、

2020-07-17 18:07:02 1373 1

原创 java中如何优雅的进行null值处理
原力计划

一、NullPointerException

2020-07-16 13:53:45 1792 4

原创 不会用nginx?看完即入门
原力计划

一、关于nginx Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。主要用途(包含但不仅限于):Http静态资源服务器 存储静态资源,如图片文件等。负载均衡 如果一台服务器不能承受并发访问压力时,我们可以新增一个服务,其中用nginx可以实现一个入口访.

2020-07-16 10:22:50 1369

原创 轻松搞定eclipse中的代码格式化

 本文以eclipse Oxygen.3a Release版本为例。 以下代码为格式化配置的代码,需要将代码另存为文件code_formatter.xml中。<?xml version="1.0" encoding="UTF-8" standalone="no"?><profiles version="13"><profile kind="CodeFormatterProfile" name="code_formatter" version="13"><s

2020-07-15 10:25:45 1387

原创 快速学会在docker中安装redis

搜索redis镜像:$ docker search redis拉取最新版本的redis镜像:$ docker pull redis查看已下载镜像:$ docker images在root目录下建立redis1目录,用来存放redis启动配置文件,方便后期挂载到容器中:$ mkdir redis1在官网下载redis.conf修改redis.conf,设置可以远程通过密码访问$ cd /root/redis1$ vi redis.conf..

2020-07-09 11:47:10 1335

原创 快速学会在docker中安装mysql57

搜索docker中的mysql镜像:$ docker search mysql拉取mysql57:$ docker pull docker.io/mysql:5.7查看已下载的镜像:$ docker images创建容器:$ docker run -d -p 3306:3306 --name mysql -e MYSQL_ROOT_PASSWORD=root docker.io/mysql:5.7查看已运行的容器,查看容器id:$ docke.

2020-07-08 18:11:22 1351

原创 docker部署tomcat项目
原力计划

一、Docker常用命令docker search [name]搜索名为name的镜像,如docker search tomcatdocker pull [name]:[version]拉取版本为version的name镜像到本地,如docker pull tomcat:8.5docker images显示所有本地镜像docker --version查看docker版本docker exec [container id]进入id为container id的容器docker exec

2020-07-07 22:50:02 1489

原创 还不会安装docker?这里帮你搞定

 本例中系统为CentOS7,内核版本为3.10。在CentOS7中安装docker,需要系统为64位,且内核版本在3.10以上。 查看系统信息:$ lsb_release -a 如果出现“lsb_release: command not found”情况,请先执行安装命令:$ yum install -y redhat-lsb 查看内核版本:$ uname -r 使用yum安装docker:$ yum -y install docker 启动docker:$ systemc

2020-07-07 13:06:00 1377

原创 分布式数据库HBase实践指南
原力计划

一、HBase简介HBase官方网站:http://hbase.apache.org/HBase是一个分布式的、面向列的开源数据库,该技术来源于 Fay Chang 所撰写的Google论文《Bigtable:一个结构化数据的分布式存储系统》。就像Bigtable利用了Google文件系统(File System)所提供的分布式数据存储一样,HBase在Hadoop之上提供了类似于Bigtable的能力。HBase是Apache的Hadoop项目的子项目。HBase不同于一般的关系数据库,它是.

2020-07-01 14:16:37 2034 1

原创 Linux系统桥接模式下配置静态ip地址

一、桥接模式VMware桥接模式,也就是将虚拟机的虚拟网络适配器与主机的物理网络适配器进行交接,此时虚拟机就可以访问到外部网络。桥接模式就相当于在局域网中添加了一台新的物理机一样,虚拟机同样占用一个ip地址,此时可以与局域网内其他终端互相访问。桥接模式支持有线与无线主机网络适配器。二、VMware设置桥接模式三、设置静态ip地址本例虚拟机为CentOS7。1、使用ip addr查看网卡等信息此时网卡名称为ens33,所以需要修改ifcfg-eth33文件。2、编辑网卡..

2020-06-20 13:27:33 2177

原创 Java 8 Funciton、Consumer、Predicate的作用及用法

一、简述Funciton、Consumer、Predicate是Java8中的新特性。他们都是函数式接口,位于java.util包中。关于函数式接口,其外部特征是类上使用@FunctionalInterface注解。它有以下特点:只能注解到有且仅有一个抽象方法的类上。 接口显示声明或覆盖了java.lang.Object类中方法的方法也不算做抽象方法。 Java8接口中static方法与default方法不算抽象方法。他们各自的使用场景如下:Function需要执行目标方法后得到返回

2020-06-18 13:17:35 2166 1

demo-cloud.rar

《从零到一搭建一个SpringCloud2.0项目》案例代码,适合SpringCloud初学者,内含SpringCloud项目基本结构与引用包

2020-07-21

SpringDataJPA实例

《你真的了解Jpa吗?》案例代码,内有SpringBootJPA的入门例子,包括增删改查一级实体关联关系处理。

2020-07-19

threadlocal.rar

《ThreadLocal究竟是个啥?》案例代码,讲述了ThreadLocal的概念使用,解答了ThreadLocal在父子线程中通信问题。

2020-07-18

博客《分布式数据库HBase实践指南》案例代码

博客《分布式数据库HBase实践指南》案例代码,对Java技术感兴趣的朋友可以关注一下我,我在csdn为您准备了很多Java干货。

2020-07-01

《你想了解的分布式文件系统HDFS,看这一篇就够了》案例代码

博客《你想了解的分布式文件系统HDFS,看这一篇就够了》案例代码,对Java技术感兴趣的朋友可以关注一下我,我在csdn为您准备了很多Java干货。

2020-06-14

理解Spring AOP实现与思想 案例代码

博客《理解Spring AOP实现与思想》案例代码,对Java技术感兴趣的朋友可以关注一下我,我在csdn为您准备了很多Java干货。

2020-06-06

SpringBoot+Shiro+JPA+LayUI的后台管理系统

本系统是一个用SpringBoot做后台开发框架,Shiro做权限管理框架,Spring Data Jpa 做持久层框架,Layui、Layui mini做为前端框架的前后端分离的项目。 即拿即用,上手即会,可以方便你快速的开发一套属于自己的系统。

2019-12-27

tomcat+redis+nginx实现session共享所需jar包

tomcat+redis+nginx实现session共享所需jar包,包含commons-pool2-2.4.2.jar、jedis-2.8.0.jar、tomcat-redis-session-manager-2.0.0.jar

2019-11-28

jquery和css3右侧圆点单页滚动垂直固定侧边栏导航

jquery和css3右侧圆点单页滚动垂直固定侧边栏导航,精美模板

2019-03-27

空空如也

空空如也

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

TA关注的人 TA的粉丝

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