自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(74)
  • 收藏
  • 关注

原创 find -regex

find精确匹配find -name “*.txt” 支持匹配".txt"结尾的文件。痛点: 不支持精确匹配find -regex 参数支持标准正则匹配式匹配且是完整路径匹配。我理解就是针对于一行参数匹配。例如:目前game目录下有如下目录。需要按日期匹配目录,只输出类似“2021-08-12”的目录。需要添加-regextype 指定正则匹配的类型,才可以使用类似{2}变量出现次数的写法。man find 也可以查到该说明单单只使用-regex是不支持{2}这

2021-08-21 17:12:41 1318

原创 openstack核心组件的安装和部署(mitaka)

KVM环境:controller控制节点和计算节点都需要: 双网卡cpu 设置: 需要设置设置host-passthrough 模式解析,三个节点都需要修改每个节点都需要,时间同步服务chronyd服务,选择同步真机的时间。真机配置文件的修改:节点直接同步就行了chronyc sources -v显示同步成功控制节点部署openstack源仓库执行yum upgrade在主机上升级包yum upgrade安装 OpenStack 客户端:

2021-03-21 12:09:42 725

转载 SSH服务登陆过程

转载:https://www.cnblogs.com/alexyuyu/articles/7740213.html

2021-03-12 12:40:27 171

原创 进程,线程,孤儿进程,僵尸进程。

进程和线程进程是资源分配的最小单位,线程是程序执行的最小单位进程: 线程+内存+文件/网络句柄“内存”:我们通常所理解的内存是我们所见到的(2G/4G/8G/16G)物理内存,它为什么会在进程之中呢?实际上,这里的内存是逻辑内存。指的是内存的寻址空间。每个进程的内存是相互独立的。否则的话会出现一个问题:我们把指针的值改一改就指向其他进程的内存了,通过这样我们岂不是就可以看到其他进程中"微信"或者是"网上银行"的信息,这样的话,那我们的微信聊天记录或者是银行账户的信息就都被别人找到了,这是一

2021-03-05 10:27:09 321 1

原创 http和https协议

http协议http协议:超文本传输协议,是一个基于请求与响应,无状态的,应用层的协议,常基于TCP/IP协议传输数据,互联网上应用最为广泛的一种网络协议,所有的WWW文件都必须遵守这个标准。设计HTTP的初衷是为了提供一种发布和接收HTML页面的方法。https协议https协议: 基于http协议,通过SSL或TLS加密处理数据,验证对方身份以及数据完整性保护。对称加密:客户端和服务端同用一段密钥,该密钥可以用于加密一段内容,也可以用于解密一段内容,优点是:加解密效率高,缺点是:密钥放在客户端

2021-03-05 09:47:05 295 1

原创 shell小tip(一直更新)

Question 1 给定两个文件,一个文件里放着所有的ip记作all_ip,一个文件放着部分ip记 作part_ip。需求:将all_ip文件中含有part_ip的ip全部清除。数据:链接: https://pan.baidu.com/s/1w-9kvbAJeEfIoJZKXCOs9Q 提取码: mnzp方法:cat all_ip bu_ip | sort -n | uniq -c | awk '$1<2'|wc -lgrep -v -x -f bu_ip all_ip | wc -.

2021-02-24 22:09:56 137

原创 TCP/IP协议

TCP/IP协议族:TCP/IP协议一定程度上参考了OSI七层模型,分别是物理层,数据链路层,网络层,运输层,会话层,表示层,应用层。在TCP/IP协议中被简化为四层协议:由于会话层,表示层,应用层之间提供的服务相差不是很大,所以在TCP/IP协议中,被合并成了应用层。由于运输层和网络层在网络协议中的地位十分重要,所以在TCP/IP协议中它们被作为独立的两个层次。因为数据链路层和物理层的内容相差不多,所以在TCP/IP协议中它们被归并在网络接口层一个层次里。只有四层体系结构的TCP/IP协议

2021-01-02 11:54:04 164

原创 metallb及k8s网络通信

metallb官网: https://metallb.universe.tf/搭建步骤:1.kubectl edit configmap -n kube-system kube-proxy 编辑kube-proxy 的configmap文件kubectl apply -f https://raw.githubusercontent.com/metallb/metallb/v0.9.5/manifests/namespace.yaml 可以先通过wget 将该yaml文件拿下来,再应用ku

2020-12-17 14:49:16 645

原创 k8s安装部署及pod、控制器、service、ingress简介

service:容器内部之间访问clusterIP模式(默认)[root@server1 k8s_file]# cat service.yml ---apiVersion: v1kind: Servicemetadata: name: myservicespec: selector: app: myapp ports: - protocol: TCP port: 80 targetPort: 80 type: ClusterIP适用于集群内部

2020-12-10 19:07:02 1608

原创 docker三剑客

docker-machine作用:自动化部署docker(go语言)二进制文件: docker-machine 提取码: d26s实验环境:三台虚拟机server1,server2,server3, 其中server3作为管理端安装了docker,server1和server2并没有安装docker利用docker machine在server1和server2上自动部署docker实验步骤:安装获取docker-machine,完成server3对server1和server2的免密

2020-12-03 16:29:42 273

原创 docker安全

Docker安全Docker容器的安全性,很大程度上依赖于Linux系统自身,评估Docker的安全性时,主要考虑以下几个方面:Linux内核的命名空间机制提供的容器隔离安全Linux控制组机制对容器资源的控制能力安全。Linux内核的能力机制所带来的操作权限安全Docker程序(特别是服务端)本身的抗攻击性。其他安全增强机制对容器安全性的影响。命名空间当docker run启动一个容器时,Docker将在后台为容器创建一个独立的命名空间。命名空间提供了最基础也最直接的隔离。与虚

2020-12-01 13:54:25 162

原创 Docker仓库、网络、数据卷

Docker仓库Docker 仓库是用来包含镜像的位置,Docker提供一个注册服务器(Register)来保存多个仓库,每个仓库又可以包含多个具备不同tag的镜像。Docker运行中使用的默认仓库是 Docker Hub 公共仓库。搭建Docker私人仓库通过Docker公司提供的开源镜像,可以快速的搭建企业级别的私有仓库。Registry工作原理Docker Registry有三个角色,分别是index、registry和registryclient。index: 负责并维

2020-11-28 22:17:07 247

原创 Docker的安装和使用及镜像

DockerDocker 是一个开源的应用容器引擎,基于 Go 语言 并遵从 Apache2.0 协议开源。Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。Docker的安装...

2020-11-24 18:57:12 307 1

原创 redis

redis 和 mysql 的区别类型上从类型上来说,mysql是关系型数据库,redis是缓存数据库作用上mysql用于持久化的存储数据到硬盘,功能强大,但是速度较慢redis用于存储使用较为频繁的数据到缓存中,读取速度快需求上mysql和redis因为需求的不同,一般都是配合使用。redis 的安装和使用安装包:链接:redis5.0 提取码: sna8源码解压,进入解压目录,make && make install , 之后进入uti

2020-11-11 22:39:09 188

原创 mysql主从复制,组复制以及高可用

实验环境模拟:一台进行源码编译过mysql.5.7.31的主机lnmp,编译目录在 /usr/local/lnmp/mysql ,主机IP为172.25.3.199/24。一台IP为172.25.3.1/24 的server1主机,两台主机都做好了解析。mysql 的主从复制基于二进制文件的主从复制步骤:通过rsync命令将lnmp主机上的nginx 源码编译后的目录发送到server1主机上,并添加mysql用户. 将mysql目录下的bin 目录写在 $PATH 中,用mysqld

2020-11-09 17:06:28 538 1

原创 nginx常规配置

实验环境搭建:一台主机名是lnmp 的虚拟机,ip 是172.25.3.199/24, 源码编译过nginx。编译后Nginx 的路径为/usr/local/lnmp/nginx宿主机ip 为 172.25.3.250/24nginx访问控制及状态监控修改nginx 的配置文件,并重启服务。测试:对stub_status 模块的测试:对访问控制的测试ngixn 开启https访问修改nginx 配置文件生成ssl证书, 并将证书移动到nginx 的配置目录

2020-11-05 22:06:32 199

原创 tomcat+nginx+memcache实现对tomcat服务的负载均衡和session共享

实验环境搭建:两台主机主机名分别为lnmp 和 server1 , ip地址分别为172.25.3.199和172.25.3.1什么是tomcat?由Apache组织提供的一种Web服务器,提供对jsp和Servlet的支持。它是一种轻量级的javaWeb容器(服务器),也是当前应用最广的JavaWeb服务器(免费)。tomcat7.0.37 源码安装源码包: 链接: tomcat7.0.37 提取码: 4jetjdk工具包: 链接: jdk工具包提取码: b2d8tar zxf ap

2020-11-04 21:37:23 235

原创 memcached 和 openresty 实现高速缓存机制

什么是memcached?memcached是一个免费开源的、高性能的、具有分布式内存对象的缓存系统,通过减轻数据库负载来加速动态web应用。实现步骤

2020-11-02 18:19:16 315

原创 mysql 5.7.31+ php7.4.12 + nginx1.91.1源码编译

mysql5.7.31源码编译源码包:安装mysql-boost-5.7.31.tar.gztar zxf mysql-boost-5.7.31.tar.gz 解压安装包到当前路径yum install gcc gcc-c++ ncurses-devel openssl-devel cmake bison 解决安装mysql需要的软件依赖性cd mysql-5.7.31 进入到解压目录开始进行编译,执行下边这个命令cmake -DCMAKE_INSTALL_PREFIX=

2020-11-02 15:31:44 744 2

原创 haproxy

实验环境在linux环境中,通过母盘是redhat7.6的操作系统,克隆搭建四台域名分别为node1,node2, node3,node4; 主机名分别为server1,server2,server3, server4的四台虚拟机。(名称可以任选)给四台主机分别配置好各自的ip地址和dns地址解析,实现四台虚拟机可以互相ping通。对于虚拟机的ip和对应的dns解析可以参考配置好四台主机的yum源仓库,(可以通过宿主机的httpd服务,搭建网络仓库)关闭掉所有虚拟机的防火墙,并将所有主

2020-10-30 13:17:09 183

原创 keepalive+Nginx反向代理实现apache服务的负载均衡

Nginx源码安装Nginx源码包:链接: Nginx-1.19.1 提取码: x4cg源码安装步骤:tar zxf nginx-1.19.1.tar.gz解决nginx源码编译的依赖性 yum install gcc pcre-devel openssl-devel -y检测安装环境./configure --prefix=/usr/local/nginx --with-http_ssl_module --prefix= 参数后跟的是安装路径在Makefile文件所在的目录,进

2020-10-29 21:06:30 279

原创 keepalive+Lvs 实现高可用负载均衡

实验环境搭建在linux环境中,通过母盘是redhat7.6的操作系统,克隆搭建四台域名分别为node1,node2, node3,node4; 主机名分别为server1,server2,server3, server4的四台虚拟机。(名称可以任选)给四台主机分别配置好各自的ip地址和dns地址解析,实现四台虚拟机可以互相ping通。对于虚拟机的ip和对应的dns解析可以参考配置好四台主机的yum源仓库,(可以通过宿主机的httpd服务,搭建网络仓库)关闭掉所有虚拟机的防火墙,并将所

2020-10-29 14:26:58 524 4

原创 利用pcs +pacemaker +corosync 实现(HA)高可用集群

实验环境搭建在linux环境中,通过母盘是redhat7.6的操作系统,克隆搭建三台域名分别为node1,node2, node3,主机名分别为server1,server2,server3的三台虚拟机。(名称可以任选)给三台主机分别配置好各自的ip地址和dns地址解析,实现三台虚拟机可以互相ping通。对于虚拟机的ip和对应的dns解析可以参考配置好三台主机的yum源仓库,(可以通过宿主机的httpd服务,搭建网络仓库)对于做高可用节点的虚拟机server1和server2则需要

2020-10-26 20:12:49 976 2

原创 面向对象的高级特性

类方法和静态方法类方法@classmethod默认传递类的一个装饰器静态方法@staticmethod默认什么参数的不传的一个装饰器示例:代码:class Student(object): def __init__(self, name): print('实例方法-self', self) self.name = name def learning(self): print('年龄为%d的%s正在学习' % (self.__

2020-10-14 15:50:44 229

原创 Python中的系统基础信息模块和链表的生成

psutil模块psutil(python system and process utilities), 是系统监控及进程管理的且跨平台的系统管理库,实现命令行中类似ps、top、lsof、netstat、ifconfig、who、df、kill、free、nice、ionice、iostat、iotop等等命令的功能。常用的获取系统性能的命令获取系统的cpu信息命令作用psutil.cpu_count(logical=True)查看当前主机逻辑cpu的个数psu

2020-10-14 11:34:36 228

原创 面向对象编程的三大特性

对象和类类(Class)是现实或思维世界中的实体在计算机中的反映,它将数据以及这些数据上的操作封装在一起。对象(Object)是具有类类型的变量。类和对象是面向对象编程技术中的最基本的概念。如何将类装换为对象实例化是指在面向对象的编程中,把用类创建对象的过程称为实例化。是将一个抽象的概念类,具体到该类实物的过程。实例化过程中一般由类名 对象名 = 类名(参数1,参数2…参数n)构成。面向对象的三大特性封装定义:封装,顾名思义就是将内容封装到某个地方,以后再去调用被封装在某处的内容。_ _

2020-10-09 15:48:21 735 2

原创 批量定时发送邮件

实现批量定时发送邮件需要的模块yagmail模块作用:借用该模块的内置参数,来实现发送邮件的过程步骤:导入包yagmail 之后, 通过mail = yagmail.smtp()实例化一个对象出来,需要传入的参数user=“发件人”,password=“授权码”, host=“smtp服务器”获取授权码的位置(qq邮箱为例):通过mail.send()模块发送邮件内容,参数:(to=“收件人”,subject=“邮件的主题”,contents=“邮件的正文”, attachments=“

2020-10-09 13:38:25 846 1

原创 模块与包

模块什么是模块?模块就是工具包,要想使用这个工具包中的工具(就好比函数),就需要导入这个模块模块的基本操作注:导入模块实际上就是执行python文件的过程__name__的值:1. 如果是被导入执行时,’__name__‘的值是模块名2. 如果是在模块中执行时,’__name__‘的值是‘__main__’示例:自己创建的模块:对模块的调用:对模块的导入方式包什么是包?包将有联系的模块组织在一起,有效避免模块名称冲突问题,让应用组包织结构更加清晰包的导入导入包的过程,实际上

2020-10-08 14:32:04 162

原创 异常处理

Python中常见的异常异常含义AttributeError属性异常;试图访问一个对象没有的树形,比如foo.x,但是foo没有属性xIOError输入/输出异常;基本上是无法打开文件ImportError无法引入模块或包;基本上是路径问题或名称错误IndentationError语法错误(的子类) ;代码没有正确对齐IndexError下标索引超出序列边界,比如当x只有三个元素,却试图访问x[5]KeyError试图访问字典里不存在的键

2020-10-08 13:50:41 82

原创 高级特性

生成式生成器迭代器可迭代对象闭包装饰器内置高阶函数

2020-10-07 11:03:42 166

原创 持久化文件操作

文件的打开方式python对于文件都采用默认的操作步骤:打开——操作——关闭,对文件进行操作之后一定要关闭它,关闭文件将对文件释放控制权使文件恢复存储状态,此时另一个进程可以操作这个文件。文件的常见打开方式:方式意义r只读打开w只写打开(如果文件不存在,则会创建改文件;文件存在,则会清空该文件的内容)rb用于打开一些二进制文件,比如:图片或者视频a用于对该文件添加内容+通常和w或者a一起使用,表示读写打开改文件用open的方式打开文件打开格

2020-10-06 14:32:55 243

原创 Python中的函数

函数目的:为了提高编写的效率以及代码的重用函数的创建和调用创建:用def来定义一个函数可以有return 值 也可以没有调用:直接使用函数名示例:def max_num(x: float, y: float) -> float: """ 求两个数的最大值 :param x: 传入的第一个数值 :param y: 传入的第二个数值 :return: 两个数的最大值 """ z = x if x > y else

2020-10-01 15:59:39 318

原创 内置数据结构集合和字典

集合(无序不重复数列)集合的创建使用大括号 { } 或者 set() 函数创建集合;注意:创建一个空集合必须用 set() 而不是 { }{ } 是用来创建一个空字典。示例:对集合内容的添加add() 添加单个元素update() 添加多个元素示例对集合的内容进行删除remove() 移除集合内的指定元素pop() 随机移除集合内的某个元素clear() 移除集合中的所有元素示例:对两个集合求交集和并集& 交集| 并集示例 注:不支持重复和连接

2020-10-01 13:21:19 1904

原创 内置数据结构列表和元组

序列定义:成员有序排列的,且可以通过下标偏移量访问到它的一个或者几个成员,这类类型统称为序列。序列数据类型包括:字符串,列表,和元组类型。特点: 都支持下面的特性索引与切片操作符成员关系操作符(in , not in)连接操作符(+) & 重复操作符(*)列表List(可变的数据类型)作用:可以存储多种数据类型的数据集(可以嵌套列表)对列表内容的增加append() 追加作用:extend() 拉伸insert()插入...

2020-10-01 10:49:55 185

原创 内置数据结构字符串

字符串字符串的表示方式字符串的表示方式:字符串或串(String)是由数字、字母、下划线组成的一串字符。Python 里面最常见的类型。 可以简单地通过在引号间(单引号,双引号和三引号)包含字符的方式创建它。一个反斜线加一个单一字符可以表示一个特殊字符,通常是不可打印的字符示例:三重引号的两个作用 :作用1: 进行多行注释,Python中单行注释是#,多行注释的时候每行都写一个#,或者采用连续的三个双引号作用2: 定义多个字符串, 为避免使用转义换行符 \n,通常会用在定义S

2020-09-28 15:47:21 192

原创 Python中三大流程控制

顺序流程控制定义: 代码从上到下依次执行三种书写方式:标准的if 语句name = input('Your name:')if name != 'root': print(name, 'is not super user!!')测试:分支流程控制(if)分支语句 if - else语句name = input('Your name:')if name != 'root': print(name, 'is not super user!!')else: p.

2020-09-25 20:33:16 172

原创 Python的基础语法

语言进化史基础语法变量定义:变量是内存中的一块区域。对象赋值实际上是对象的引用命名规则:变量名由字母,数字,下划线组成,不能以数字开头常用变量类型符号含义%s字符串%e对数字进行科学计数法表示%f浮点型(%.2f表示显示小数点后两位)%i整型...

2020-09-24 23:28:21 881

原创 Ansible中的角色使用

ansible 角色简介Ansible roles 是为了层次化,结构化的组织Playbookroles就是通过分别将变量、文件、任务、模块及处理器放置于单独的目录中,并可以便>捷地include它们roles一般用于基于主机构建服务的场景中,在企业复杂业务场景中应用的频率很高以特定的层级目录结构进行组织的tasks、variables、handlers、templates、files等;相当于函数的调用把各个功能切割成片段来执行。roles目录结构files存放copy或

2020-09-23 18:16:19 126

原创 Ansible中的任务执行控制

loop循环简单循环:loop: ##赋值列表 - value1 - value2 - ...实例:vim test.yml 编辑playbook ---- name: test loop hosts: 172.25.254.100 tasks:- name: touch file file: path: "/mnt/{{item.path}}" owner: "{{item.owner}}" state: touch lo

2020-09-23 17:13:36 188

原创 Ansible中的变量及加密

变量命名要求:只能包含数字,下划线,字母只能用下划线或字母开头变量级别全局: 从命令行或配置文件中设定的paly: 在play和相关结构中设定的主机: 由清单,事实收集或注册的任务变量设定和使用方式在playbook中直接定义变量在文件中定义变量变量文件的内容:变量的使用格式"{{变量名字}}""设定主机变量和清单变量在定义主机变量和清单变量时使用目录设定变量注:在使用目录设定变量时,当执行playbook时,需要变量目录所在的

2020-09-16 15:53:21 284

空空如也

空空如也

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

TA关注的人

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