自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

凹凸曼的博客

一个小程序员记录学习的过程

  • 博客(111)
  • 收藏
  • 关注

原创 SpringBoot应用使用AlibabaCloudToolkit自动化部署到docker

因为执行脚本中指定了docker run挂载的日志目录为/home/czy/webapps/logs/docker_demo,所以tail -f 可以查看到宿主机上挂载容器运行后的日志。CloudToolkit的功能远不止于此,它内置了终端工具,在IDEA中管理Linux服务器,用它就够了,直接通过底部面板,点击终端按钮即可打开,通过上传功能也可以上传文件。插件安装完成后,打开左侧面板,右键Host图标我们就可以添加服务器的连接信息了,实现自动化部署之前需要先配置好连接信息;这里将文件上传到服务器的。

2022-09-08 21:01:34 1171 1

原创 docker安装mysql

点击tags,搜索5.7。2.启动mysql容器。

2022-09-06 17:56:17 576

原创 dockerFile

Dockerfile面向开发,Docker镜像成为交付标准,Docker容器则涉及部署与运维,三者缺一不可,合力充当Docker体系的基石。从应用软件的角度来看,Dockerfile、Docker镜像与Docker容器分别代表软件的三个不同阶段,这些基础命令,那我们就来自定义一个镜像,功能比官方下载的强大点,同时运用下各个指令。DockerFile是用来构建Docker镜像的。5.查看一个镜像文件的变更历史可以使用如下命令。镜像是mini版的,所以不带有。2.将脚本构建成对应的镜像文件。

2022-09-03 18:06:00 244

原创 docker数据卷

Docker容器产生的数据,如果不通过docker commit生成新的镜像,使得数据做为镜像的一部分保存下来,那么当容器删除后,数据自然也就没有了。前面我们介绍了镜像和容器,通过镜像我们可以启动多个容器,但是我们发现当我们的容器停止获取删除后,我们在容器中的应用的一些数据也丢失了,这时为了解决容器的数据持久化,我们需要通过容器数据卷来解决这个问题。在tomcat1中修改了共享资源文件后,在两个容器中也是可见的。命名的容器挂载数据卷,其他容器通过挂载这个容器实现数据共享,挂载数据的容器,称之为数据卷容器。

2022-09-03 16:10:00 394

原创 Docker镜像文件介绍启动tomcat

我们现在已经掌握了从docker hub上获取相关镜像,然后运行容器,并作出我们自己的处理,但有时候我们需要将我们自己的容器制作为对应的镜像,以便后面继续使用,这时我们就需要用到docker commit …镜像是一种轻量级、可执行的独立软件包,用来打包软件运行环境和基于运行环境开发的软件,它包含运行某个软件所需的所有内容,包括代码、运行时、库、环境变量和配置文件。我们发现启动的容器中没有要访问的资源,那么我们自己创建对应的资源即可。我们现在的容器和下载的有区别了,我们可以在这个基础上来创建新的镜像。

2022-09-03 11:02:31 1146

原创 Docker的常用命令

我们通过 docker ps -a 可以看到刚刚启动的容器已经退出了, 因为守护容器启动后没有其他任务执行,就是直接停止。为了让守护式容器能够一直执行,我们可以在启动容器后在后台运行一个循环的脚本。我们要查看当前正在运行的容器有哪些,可以通过ps 命令来查看。我们有时需要从容器中拷贝内容到宿主机中。查看容器中运行的进程。

2022-09-03 09:30:26 710

原创 redis有序集合sorted set(zset)数据类型相关命令介绍及使用

文章目录简介添加命令查询命令递增类型递减类型删除命令运算命令skiplist简介Redis 有序集合和集合一样也是 string 类型元素的集合,且不允许重复的成员。不同的是每个元素都会关联一个 double 类型的分数。redis 正是通过分数来为集合中的成员进行从小到大的排序。有序集合的成员是唯一的,但分数(score)却可以重复。集合是通过两种底层数据结构实现的。一种是ziplist压缩列表,另一种就是redis中最经典的数据结构skipList跳跃表,所以添加,删除,查找的复杂度都是 O(

2022-01-17 09:58:35 1047

原创 redis的set数据类型相关命令介绍及使用

文章目录set简介添加命令查询命令移动/删除命令集合运算命令差集运算交集运算并集运算应用场景set简介redis集合set类型和list列表类型类似,都可以用来存储多个字符串元素的集合。但是和list不同的是set集合当中不允许重复的元素。而且set集合当中元素是没有顺序的,不存在元素下标。redis的set类型是使用哈希表构造的,它支持集合内的增删改查,并且支持多个集合间的交集、并集、差集操作。可以利用这些集合操作,解决程序开发过程当中很多数据集合间的问题。添加命令sadd key membe

2022-01-15 15:52:28 369

原创 redis的hash数据类型相关命令介绍及使用

文章目录hash类型简介添加命令查询命令hash类型简介redis中的哈希(hash或者散列表),内部存储很多键值对以key - [Field-Value]的形式存储,也是一种数组+链表的二维结构(本身又是一个 键值对结构)。正是因为这样,通常我们可以使用哈希存储一个对象信息。redis中每个 hash 可以存储 232 - 1 键值对(40多亿)添加命令hset key field value将哈希表key中的字段的值设为value,不存在则创建设置,否则将覆盖旧值;如果哈希表中字段已经存在且

2022-01-15 14:35:27 474

原创 redis的list数据类型相关命令介绍及使用

文章目录list列表简介常用命令添加命令查询命令弹出/删除命令修改命令阻塞弹出命令应用场景list列表简介list是简单的字符串列表(说通俗点,存储的还是字符串),按照插入顺序排序。你可以添加一个元素到列表的头部(左边)或者尾部(右边),个列表最多可以包含^32-1个元素(每个列表超过40亿个元素)。Redis中的list和Java中的LinkedList很像,底层都是一种链表结构,list的插入和删除操作非常快,时间复杂度为 0(1),不像数组结构插入、删除操作需要移动数据。像归像,但是redis

2022-01-14 14:27:47 350

原创 redis的String数据类型相关命令介绍及使用

文章目录字符串命令存值相关(set)取值相关(get)数值操作命令加操作减操作BIT位操作命令应用场景字符串命令存值相关(set)set key value例如 set age 17,即将age的值设置为17。如果 key 已经存储其他值, set就覆写旧值,且无视类型,在将set age 17之后,我们再执行set age 18 这时候age的值就变为了18,因为再redis里面key相当于一个主键,具有唯一性。在2.6.12版本,SET命令加上了一些参数:用法:SET key val

2022-01-08 20:43:02 889 1

原创 简单理解redis epoll运行原理

文章目录I/O模型:BlockingIO(BIO)Non-blocking I/O(NIO)redis epoll为什么epoll快?就绪链表怎么维护?redis 是一个单线程却性能非常好的内存数据库, 主要用来作为缓存系统。 redis 采用网络IO多路复用技术来保证在多连接的时候, 提高系统的高吞吐量。Redis 是跑在单线程中的,所有的操作都是按照顺序线性执行的,但是由于读写操作等待用户输入或输出都是阻塞的,所以 I/O 操作在一般情况下往往不能直接返回,这会导致某一文件的 I/O 阻塞导致整个进

2022-01-06 17:39:10 2250

原创 redis介绍及安装详解

文章目录引出redisredis介绍简介为什么redis有类型这个概念Centos7安装Redis前置准备安装引出redis文件里数据都存在磁盘中,随着文件越来越大,读写速度也会越慢,很快会达到硬盘i/o的瓶颈。读写基于两个维度来看速度:寻址和带宽磁盘读写:寻址:毫秒级带宽:G或者M为单位磁盘有磁道和扇区,一扇区存放512Byte数据。如果每次查找去512字节那就会有一个成本问题索引变大,因为磁道上有太多个扇区,以一个扇区为索引,那成本太大。所以操作系统定义无论你读多少,都是最少从磁盘拿4k

2022-01-05 15:48:40 534 1

原创 Linux系统字符集、特殊符号

文章目录系统字符集常见字符集linux系统字符集特殊符号系统字符集常见字符集ASCII码支持英文字母、数字、和一些简单的表情符号UTF-8万国码,包含中文、英文、数字、复杂的表情等GBK国标。还有GB2300、GB2312linux系统字符集查看字符集echo $LANG 查看系统字符集临时修改字符集export LANG='zh_CH.UTF-8' 注意是临时修改,断开重连就失效了永久修改字符集方法一:ContOS7系统修改配置文件/etc/locale.conf,vi

2021-12-31 14:22:54 1745

原创 Linux系统中文件属性及文件权限,用户和用户组的管理

文章目录文件属性文件属性解释chown更改文件属主和属组:chmod更改文件权限Linux系统是一个典型的多用户系统,不同的用户处于不同的地位,拥有不同的权限,就是为了保护linux系统的安全性。对不同用户访问同一个文件的权限做出的不同的规定。文件属性如上图 ll命令查看查看目录下文件时,前面【drwxr-xr-x. 2 root root】就是文件的属性以及文件所属用户和组。文件属性解释Linux文件属性的第一个字符表示文件、目录、或链接最常见的:首字母【d】开头就是代表目录首字母【-

2021-12-30 14:51:46 4514

原创 Linux系统目录介绍

文章目录目录介绍重要目录常见配置文件介绍linux系统目录是一个树形结构,一切从根目录(/)开始以树形方式显示目录内容:下载tree工具:yum install -y tree目录介绍/bin:bin 是 Binaries (二进制文件) 的缩写, 这个目录存放着最经常使用的命令。/boot:这里存放的是启动 Linux 时使用的一些核心文件,包括一些连接文件以及镜像文件。/dev :dev 是 Device(设备) 的缩写, 该目录下存放的是 Linux 的外部设备,在 Li

2021-12-28 01:30:00 303

原创 Shell入门-linux常用命令

文章目录命令行模式文件和目录操作特殊目录目录相关命令基础运维指令文件管理命令vim文本编辑器什么是shell:shell是c语言开发的一个程序,使用户和系统之间的一个桥梁,是一种程序设计的语言shell在哪里使用:日常运维中,用户跟系统之间就需要shell来交互为什么要使用shell:是用户和系统之间的桥梁,是命令解释器,语法简单运行高效,起到自动化运行的效果如何使用?命令行模式命令提示符 [root@bogon /]# : [当前用户@主机名称 当前所在目录]命令行模式退出:exit、

2021-12-27 10:45:00 262

原创 vmware虚拟机及CentOS7.6初始化安装、配置优化、设置静态IP

下载安装vmware workStation(建议安装12以上的版本),官方地址打开vmware workStation,新建虚拟机虚拟机安装向导:选择自定义 -> 选择硬件兼容性直接默认下一步 -> 选择稍后安装操作系统 -> 选择客户机操作系统,先择Linux,版本选择CentOS 64位 -> 命名及选择安装位置(注意不要出现中文) -> 处理器选择配置:根据电脑自行配置 -> 指定运行内存1G就够用 -> 选择网络模式,选择NAT -> 选择i.

2021-12-26 10:04:03 2014

原创 进程/线程/纤程/中断/内存管理

面试高频:进程和线程有什么区别?答案:进程就是一个程序运行起来的状态,线程是一个进程中的不同的执行路径。专业点说:进程是OS分配资源的基本单位,线程是执行调度的基本单位。分配资源最重要的是:独立的内存空间,线程调度执行(线程共享进程的内存空间,没有自己独立的内存空间)纤程:用户态的线程,线程中的线程,切换和调度不需要经过OS优势:1:占有资源很少 OS : 线程1M Fiber:4K2:切换比较简单 3:启动很多个10W+Java中对于纤程的支持:没有内置,可以利用第三方库Quaser(并不成

2021-12-22 21:28:28 659

原创 计算机组成原理—CPU/JAVA相关硬件知识

文章目录硬件基础知识了解CPU的制作过程了解CPU的原理了解汇编语言(机器语言)Java相关硬件知识计算机的组成硬件基础知识了解CPU的制作过程沙子脱氧 -> 石英 -> 二氧化硅 -> 提纯 -> 硅锭 -> 切割 -> 晶圆 -> 涂抹光刻胶 -> 光刻 -> 蚀刻 -> 清除光刻胶 -> 电镀-> 抛光 -> 铜层 -> 测试 -> 切片 -> 封装简单理解:一堆沙子 + 一堆铜 + 一堆胶水 +

2021-12-20 22:26:26 759

原创 HTTP协议

文章目录简介简介1.1990年伯纳斯.李,发明了万维网(WWW),写了第一个Web Server2.HTTP协议(Hyper Text Transfer Protocol):应用层协议,是浏览器和Web Server之间通信的协议,处理客户端和服务端之间的通信请求Request)一次请求,分成头(Header)和体(Body)。 下面是一个请求头+消息体的示例:...

2021-12-18 13:53:09 535

原创 Socket编程入门——实现HTTP服务

文章目录什么是socketsocket简单的实现什么是socketsocket意为网络插槽,当客户端和服务端之间交互的时候,会在客户端和服务端同时形成socket,通过socket来进行交互,发送信息通过socket,接受信息也是从socket中读。socket相当于一个文件,多数操作系统就是将socket实现成一个文件。线程模型当有一个请求过来时(相当于一个tcp连接),操作系统接到请求的时候,会先将请求放在一个叫pendingQueue的队列中,如果这个队列满了,就会发生拒绝,实际项目中有时就

2021-12-16 16:31:19 2889

原创 IPV4协议/IPV6协议

文章目录IPV4协议的工作原理IP协议(Internet Protocol):网络层协议。网络层协议位于传输层和链路层中间,传输层解决端到端的问题,预先建立连接保证了消息的可靠性。而IP协议并不预先建立连接,它任由数据在网络中传输,每个节点通过路由算法来找到数据传输到的下个节点,它不保证数据的可靠性。消息可靠性有上方传输层来保证。IP协议目前主要有两种架构,IPv4和IPv6,IPv4是目前应用最广泛的互联网协议。IPV4协议的工作原理1.分片(Fragmentation)还是将数据拆分传输,把

2021-12-09 22:00:00 2666

原创 TCPIP协议群/TCP协议/UDP协议

文章目录TCP/IP协议群要解决的5个问题TCP/IP协议群的5层模型上文中讲到OSI七层模型设计较为臃肿,后来罗伯特.卡恩和文顿.顿瑟夫提出的TCP协议,TCP提出的时候还没有IP协议,TCP协议中就包含了IP协议,后来为了解耦将两层分开,TCP全名Transmission Control Protocol,传输层协议;IP是Internet Protocol ,网络层协议。后来统称为TCP/IP协议群。TCP/IP协议群要解决的5个问题1.报文拆分比如用户要传输一个大文件,但是在网络底层不支持一

2021-12-08 21:21:59 2821

原创 OSI 七层模型

文章目录OSI模型是什么?7层模型详解OSI存在的问题OSI模型是什么?OSI模型介绍OSI模型指的是Open System Interconnection Reference Model,即开放式系统互联模型。它是世界上第一个试图在世界范围内规范网络标准的框架。OSI的产生背景基础建设在学术界早已成型,如封包交换原理理论,数据传输能力等。7层模型详解物理层 >> 数据链路层 >> 网络层 >> 传输层 >> 会话层 >> 表现层 &

2021-12-06 21:35:04 700

原创 计算机网络简史

文章目录计算机网络产生的条件互联网的发展计算机网络产生的条件芯片技术第一个计算机体积如教室那么大,电路的复杂程度导致,后来集成电路的产生,计算机体积有所下降,杰克基尔.比发明世界上第一个芯片,体积非常小。理论发展Paul Baran提出分布式可适应信息块交换集成电路Donald Davies提出封包交换封包交换算法:解决数据如何从一个点通过一个复杂网络到达另一个点的问题。材料导体发展同轴电缆:最早的材料是同轴电缆,每分钟只能传输120个字,一根导体,速度慢。双绞线电缆:导线两两缠绕

2021-12-05 21:40:58 362

原创 Jenkins自由风格项目构建与Maven项目构建

文章目录自由风格项目构建Maven项目构建Jenkins中自动构建项目的类型有很多,常用的有以下三种:1.自由风格软件项目(FreeStyle Project)2.Maven项目(Maven Project)3.流水线项目(Pipeline Project)每种类型的构建其实都可以完成一样的构建过程与结果,只是在操作方式、灵活度等方面有所区别,在实际开发中可以根据自己的需求和习惯来选择。(PS:个人推荐使用流水线类型,因为灵活度非常高)自由风格项目构建下面演示创建一个自由风格项目来完成项目的集

2021-03-09 17:25:26 595

原创 jenkins-Tomcat安装和配置及centos防火墙配置

文章目录安装Tomcat8.5安装Tomcat8.51.下载maven上传到服务器官方下载地址:https://tomcat.apache.org/download-80.cgi2.解压安装解压:tar -xzf apache-tomcat-8.5.63.tar.gz创建目录:mkdir -p /opt/tomcat移动文件:mv /home/changziyang/apache-tomcat-8.5.63/* /opt/tomcat注意:服务器已经关闭了防火墙,所以可以直接访问Tomc

2021-03-08 11:19:13 212 1

原创 jenkins-Maven安装和配置

文章目录安装Maven配置环境变量全局工具配置关联JDK和Maven添加Jenkins全局变量修改Maven的settings.xml测试Maven是否配置成功在Jenkins集成服务器上,我们需要安装Maven来编译和打包项目。安装Maven1.下载maven上传到服务器官方下载地址:http://maven.apache.org/download.cgi2.解压安装解压:tar -xzf apache-maven-3.6.3-bin.tar.gz创建目录:mkdir -p /opt/ma

2021-03-04 14:35:36 1142 1

原创 Jenkins凭证管理--Credentials Binding插件--配置凭证拉取gitlab代码

文章目录安装Credentials Binding插件演示Jenkins的如何管理Gitlab的凭证创建用户密码类型凭证创建SSH密钥类型凭证凭据可以用来存储需要密文保护的数据库密码、Gitlab密码信息、Docker私有仓库密码等,以便Jenkins可以和这些第三方的应用进行交互。安装Credentials Binding插件要在Jenkins使用凭证管理功能,需要安装Credentials Binding插件安装完成后进如"凭证配置",在这里管理所有凭证可以添加的凭证类型有5种:User

2021-03-03 17:17:22 1760 1

原创 Jenkins用户权限管理--Role-based Authorization Strategy 插件

文章目录安装Role-based Authorization Strategy插件开启权限全局安全配置创建角色创建用户用户分配角色创建项目测试权限安装Role-based Authorization Strategy插件安装完成后重启开启权限全局安全配置1.系统设置->全局安全配置2.授权策略设置为"Role-Based Strategy",保存创建角色在系统管理页面进入 Manage and Assign Roles点击"Manage Roles"有三种角色:Globa

2021-03-03 16:15:16 519

原创 持续集成环境-Jenkins插件管理--配置国内插件下载--配置汉化插件

文章目录修改Jenkins插件下载地址汉化插件Jenkins本身不提供很多功能,我们可以通过使用插件来满足我们的使用。例如从Gitlab拉取代码,使用Maven构建项目等功能需要依靠插件完成。接下来演示如何下载插件。修改Jenkins插件下载地址Jenkins国外官方插件地址下载速度非常慢,所以可以修改为国内插件地址:1.进入updatescd /var/lib/jenkins/updates2.修改default.json文件sed -i ‘s/http://updates.jenk

2021-03-03 11:14:24 315

原创 持续集成环境-Jenkins安装(Centos7.6 防踩坑攻略)

文章目录Jenkins安装Jenkins入门Jenkins安装1.安装JDKJenkins需要依赖JDK,所以先安装JDK1.8yum install java-1.8.0-openjdk* -y安装目录为:/usr/lib/jvm2.下载jenkins安装包在线下载:https://mirrors.tuna.tsinghua.edu.cn/jenkins/redhat-stable/jenkins-2.263.4-1.1.noarch.rpm百度网盘:https://pan.baid

2021-03-03 10:13:17 173

原创 centos7.6安装搭建使用GitLab,防踩坑攻略

文章目录Gitlab安装添加组创建用户官网: https://about.gitlab.com/GitLab 是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的web服务。GitLab和GitHub一样属于第三方基于Git开发的作品,免费且开源(基于MIT协议),与Github类似,可以注册用户,任意提交你的代码,添加SSHKey等等。不同的是,GitLab是可以部署到自己的服务器上,数据库等一切信息都掌握在自己手上,适合团队内部协作开发,你总不可能把团队内部

2021-03-02 17:17:18 302

原创 CentOS Docker 安装

前提Docker 只支持centos7版本文章目录使用官方安装脚本自动安装手动安装使用官方安装脚本自动安装安装命令如下:curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun使用国内 daocloud 一键安装命令:curl -sSL https://get.daocloud.io/docker | sh手动安装1.卸载旧版本较旧的 Docker 版本称为 docker 或 docker-engine 。如果

2021-02-25 14:27:41 279

原创 windows下docker部署tomcat项目并对外访问

文章目录编写Dockerfile运行Dockerfile构建镜像进入docker运行镜像简单部署个hello docker页面项目对外访问编写Dockerfile#基础环境FROM centos#作者MAINTAINER isczy#拷贝当前文件夹下的readme.txt文件到容器内的/usr/local/下(这步没用,练习COPY指令)COPY readme.txt /usr/local/readme.txt#ADD 和COPY相似,但可以自动解压ADD jdk-8u281-linux-

2021-02-20 15:27:23 1106

原创 windows下docker toolbox使用容器挂载数据卷及mysql挂载同步数据(防踩坑指南)

不得不说,windows使用docker坑是真的多啊!!!1.配置Oracle VM VirtualBox共享文件夹这里就有一个坑:win10普通版及以下windows版本都无法直接安装docker,只能通过docker toolbox来间接使用docker,其实本质就是跑在linux虚拟机上,所以docker toolbox要挂载数据卷就必须先配置Oracle VM VirtualBox虚拟工具来共享文件夹。这里配置自己需要共享的文件夹即可,需要注意共享文件夹名称不要有大写,必须使用 d/**

2021-02-19 10:53:55 1143

原创 windows下docker toolbox安装可视化界面Portainer

1.直接输入命令 安装并运行:docker run -d -p 9000:9000 --restart=always -v /var/run/docker.sock:/var/run/docker.sock --name prtainer \portainer/portainer2.访问Portainer在浏览器输入http://192.168.99.100:9000,注意ip是docker运行环境的虚拟ip查看方式:docker-machine ip default3.设置用户名和密码4

2021-02-18 16:08:28 909

原创 windows下安装docker-toolbox并配置国内镜像加速

1.下载docker-toolbox2.下载后安装配置自定义安装位置一路下一步就行,安装好后打开安装的根目录下有个boot2docker.iso镜像文件。这里需要注意:如果该文件不是最新的,运行后它会去github下载最新的boot2docker.iso镜像文件。但github在国外,在上面下载文件速度特别慢,可以用迅雷,直接打开github地址,直接下载好。下载地址:https://github.com/boot2docker/boot2docker/releases/download/v18.0

2021-02-03 11:47:50 875

原创 记springboot重定向时报错:javax.servlet.ServletException: Could not resolve view with name ‘redirect:https:*

在项目中做第三方微信扫码登录功能时,生成微信扫描二维码重定向地址时报错:javax.servlet.ServletException: Could not resolve view with name 'redirect:https://open.weixin.qq.com/connect/qrconnect?appid=******&redirect_uri=http*******&response_type=code&scope=snsapi_login&state=

2021-01-20 11:42:25 2293 1

空空如也

空空如也

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

TA关注的人

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