自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

20butterfly的博客世界

欢迎来到我的博客世界,运维的成长之路,感谢有你的见证。希望能给你有所帮助,有不同意见可私信哟 ^_^ ~

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

原创 Python__定义和使用类

由于 Python 对面向对象有着良好的支持,因此在 Python 中定义和使用类并不复杂。类的定义和使用跟函数的定义和使用有很多相似之处。一、类的定义在 Python 中,类的定义与函数的定义类似,所不同的是,类的定义是使用关键字 "class"。与函数定义相同的是,在定义类时也要使用缩进的形式,以表示缩进的语句属于该类。类的定义形式如下。class <类名>...

2019-05-11 21:53:50 29931 11

原创 Python__面向对象思想

目录一、Python中的面向对象思想二、类和对象Python 是一种面向对象的编程语言,不过,Python 与 C++ 一样,还支持面向过程的程序设计。在 Python 中完全可以使用函数、模块等方式来完成工作。但是,当使用 Python 编写一个较为庞大的项目时,则应该考虑使用面向对象的方法,以便更好地对项目进行管理。面向对象程序设计(Object Oriented Program...

2019-05-11 20:09:43 745

原创 Python__数据结构与算法——查找与排序

查找和排序是最基本的算法,在很多脚本中都会用到查找和排序。尽管 Python 提供的用于查找和排序的函数能够满足绝大多数需求,但还是有必要了解最基本的查找和排序算法,以便在有特殊需求的情况下,可以自己编写查找、排序脚本。一、查找基本的查找方法有顺序查找、二分查找和分块查找等。其中,顺序查找是最简单的查找方法,就是按照数据排列的顺序依次查找,直到找到所查找的数据为止(可查看数据表都...

2019-05-08 00:45:26 430

原创 Python__数据结构与算法——图

图是非线性的数据结构,图是由顶点和边组成的。如果图中的顶点是有序的,那么图是有方向的,称之为有向图,如图-1所示;否则,图是无方向的,称之为无向图。在途中,由顶点组成的序列称之为路径。图和树相比,少了树那样明显的层次结构。在 Python 中,可以采用字典的方式来创建图,图中的每个元素都是字典中的键,该元素所指向的图中其他元素组成键的值。与树一样,对于图来说,也可以对其进行遍历。除...

2019-05-06 19:47:16 407

原创 Python__数据结构与算法——树、二叉树(实现先、中、后序遍历)

目录一、树二、二叉树树和前面所讲的表、堆栈和队列等这些线性数据结构不同,树不是线性的。在处理较多数据时,使用线性结构较慢,而使用树结构则可以提高处理速度。不过,相对于线性的表、堆栈和队列等线性数据结构来说,树的构建便显得复杂了。一、树树是一种非线性的数据结构,如图-1 所示,之所以称之为树,是因为其形状像一棵倒置的树。每颗树都有一个根节点,如图-1 所示的树中,Root 为...

2019-05-06 17:36:55 311

原创 Python__数据结构与算法——表、栈、队列

目录一、表二、栈(后进先出)三、队列(先进先出)数据结构使用来描述一种或多种数据元素之间的特定关系,算法是程序设计中对数据操作的描述,数据结构和算法组成了程序。对于简单的任务,只要使用编程语言提供的基本数据类型就足够了;而对于较复杂的任务,就需要使用基本的数据类型来构造出更加复杂的数据结构。表、堆栈和队列都是基本的线性数据结构。由于 Python 具有良好的数据结构,因此其...

2019-05-06 14:31:16 225

原创 初学__Python——用包来管理多个模块

目录一、包的组成二、包的内部引用在 Java 中,通过包将不同的类组织在一起。类似的,在 Python 中也提供了包的功能,可以使用包来管理多个模块。使用包的好处在于可以有效避免名字冲突,便于包的维护管理。Python 中的模块包可以通过路径导入模块。一、包的组成包可以看做处于同一目录中的模块。在 Python 中首先使用目录名,然后再使用模块名导入所需要的模块。在包的每个目录...

2019-05-05 21:10:25 453

原创 初学__Python——Python 可重用结构:Python模块

目录一、模块的基本用法一、导入模块二、编写一个模块二、在哪里查找模块三、是否需要编译模块四、模块也可独立运行五、如何查看模块提供的函数名Python中的模块实际上就是包含函数或者类的 Python 脚本。对于一个大型脚本而言,经常需要将其功能细化,将实现不同功能的代码放到不同的脚本中实现,在其他的脚本中以模块的形式使用细化的功能,以便于脚本的维护与重用。一、模块...

2019-05-05 20:30:25 327

原创 初学__Python——Python 最简单的函数—用 lambda 声明函数

用 lambda 表达式来声明函数,是Python中一类比较特殊的声明函数的方式,lambda 来源于 LISP 语言,使用 lambda 可以声明一个匿名函数。所谓匿名函数是指所声明的函数没有函数名,lambda 表达式就是一个简单的函数。使用 lambda 声明的函数可以返回一个值,在调用函数时,直接使用 lambda 表达式的返回值。lambda 参数列表:表达式lambda函数有...

2019-04-29 16:26:12 1515 1

原创 初学__Python——Python 变量的作用域

在Python中,不同的函数可以具有相同的参数名。在函数中已经声明过变量名,在函数外还可以继续使用。在脚本运行的过程中,其值并不相互影响。def fun1(x): # 声明一个函数 a = [1] # 定义一个名为 a 的列表 a.append(x) print(a)fun1(2) # 调用函数,输出函数中列表的值...

2019-04-29 13:58:02 195

原创 初学__Python——Python 函数参数的使用

目录一、有默认值的参数示例:计算参数的立方值,其参数的默认值为 5示例:向指定的参数传递值二、参数的传递方式三、如何传递任意数量的参数四、用参数返回计算结果参数让函数更有价值,在Python中,函数的参数除了上一篇博客介绍的一种方式之外,还有许多种形式。例如,用某些函数时,既可以向其传递参数,也可以不传递参数,函数依旧可以正确调用。还有一些情况,当函数中的参数数量不确...

2019-04-29 12:13:02 341

原创 初学__Python——Python 自定义函数

目录一、函数声明声明函数的一般形式:示例:求一个列表中所有整数之和二、函数调用函数是一组语句的集合,用以实现某一特定的功能。函数可以简化脚本,Python 本身提供了许多内置函数,极大地方便了脚本的编写。例如,可以使用 print 函数输出计算结果,使用 input 函数接收用户的输入。除了系统内置的函数之外,程序员还可以根据需要编写自己的函数。当自定义函数很多时,为了方...

2019-04-25 22:14:20 551

原创 初学__Python——Python的流程控制语句 if、for、while

目录一、分支结构:if 语句二、循环结构:for 语句break 和 continue三、循环语句:while 语句通常情况下,Python脚本总是按照顺序执行的。不过,对于一些复杂的程序,可能需要根据执行过程中出现的不同情况选择性地执行一部分语句,或重复执行某一部分语句,这时,就需要使用Python的流程控制语句。Python脚本中的流程控制语句控制着脚本的执行流程,根...

2019-04-25 12:37:37 760

原创 初学__Python——Python数据类型之文件

文件也可以看作是Python中的数据类型。当使用Python的内置函数open打开一个文件后就返回一个文件对象。open(filename, mode, bufsize)filename:要打开的文件名 mode:可选参数,文件打开模式 r:表示以读方式打开文件 w:表示以写方式打开文件 b:表示以二进制方式打开文件 bufsize:可选参数,缓冲区大小常用文件操作...

2019-04-24 16:13:11 409

原创 初学__Python——Python数据类型之字典

字典是Python中比较特别的一类数据类型,是以大括号包围 "{}" 的数据集合。字典与列表的最大不同在于字典是无序的,在字典中通过键来访问成员。与列表类似,字典也是可变的,可以包含任何其他类型,字典中的成员位置只是象征性的,并不能通过其位置来访问该成员。字典中的成员是以 “键: 值”的形式来声明的。常用字典操作 字典操作 描述 dic.clear() 清空字典 ...

2019-04-24 15:36:49 179

原创 初学__Python——Python数据类型之列表和元组

目录一、创建和操作列表二、创建和操作元组一、创建和操作列表列表是以方括号 "[]" 包围的数据集合,不同成员间以 "," (半角符号)分隔。列表中可以包含任何数据类型,也可以包含另一个列表,列表可以通过序号来访问其中的成员。在脚本中可以对列表进行排序、添加、删除等操作,以改变列表中某一成员的值。Python 常用列表操作 列表操作 描述 list.ap...

2019-04-24 15:09:39 188

原创 初学__Python——Python数据类型之字符串

目录一、Python中的字符串二、字符串中的转义字符三、操作字符串四、字符串中的索引与分片五、格式化字符串六、字符串、数字类型的转换七、原始字符串(Raw String)一、Python中的字符串Python中的字符串用于表示和存储文本。字符串通常由单引号('...')、双引号("...")或者三引号('''...''',"""...""")包围,其中由三引号...

2019-04-24 14:27:10 611

原创 初学__Python——Python数据类型之数字

目录一、整型和浮点型二、运算符数据类型是程序的基础,程序设计的本质就是对数据进行处理。Python有设计良好的数据类型,以及丰富的内置函数。数字是程序需要处理的最基本的数据类型,任何编程语言都提供了对数字类型的支持。一、整型和浮点型在Python2.x 中,数字类型共有4种,分别是整数(int)、长整数(long)、浮点数(float)和复数(complex)。Py...

2019-04-23 09:24:33 353

原创 初学__Python——Python中文支持、Python计算器

目录一、Python对中文的支持二、简单实用的Python计算器一、Python对中文的支持在Python中,可以在各种编码间相互转换。如果在交互式命令中使用中文,即便不做处理,一般也不会出现乱码。 如果在“.py”文件中使用了中文,则需要在文件的第一行使用如下语句指定字符编码集 UTF-8 表示使用 UTF-8 编码,也就是 UNICODE 字符集 # -*- co...

2019-04-22 20:10:33 289

原创 初学__Python——Python的基本输入输出函数

目录一、接受输入的input函数二、输出内容的print函数一、接受输入的input函数input 函数将用户输入的内容作为字符串形式返回,如果想要获取数字,可以使用 int 函数将字符串转为数字。//在Python的交互式命令行中运行Python 3.7.1 (v3.7.1:260ec2c36a, Oct 20 2018, 14:05:16) [MSC v.1915 32...

2019-04-22 17:54:16 8702

原创 初学__Python——Python代码的组织形式

目录一、用缩进来分层二、代码注释的方式——两种三、语句的断行一、用缩进来分层Python脚本的结构非常清晰,在Python中,使用代码缩进来表示分层。代码缩进一般用于函数定义、类的定义以及一些控制语句中。一般来说,行尾的双引号(:)表示代码缩进的开始。简单例子如下:# -*- coding:UTF-8 -*-a = input('请输入一个整数a:')b = ...

2019-04-22 15:17:23 1151

原创 分布式系统——zabbix 用 onealert实现报警、agent主动模式、proxy代理

实验环境物理机: rhel 7.3系统——172.25.54.250server1:rhel 7.3系统——172.25.54.1server2:rhel 6.5系统——172.25.54.11server2:rhel 6.5系统——172.25.54.12一、onealert实现报警首先让虚拟机可以联网[root@foundation54 ~]# ipta...

2018-08-23 14:32:27 461

原创 分布式系统——zabbix监控tomcat

实验环境server1:rhel 7.3系统——172.25.54.1server2:rhel 6.5系统——172.25.54.11server2 jdk-8u121-linux-x64.rpm、apache-tomcat-7.0.90.tar.gz 下载[root@server2 ~]# lsapache-tomcat-7.0.90.tar.gz nginx-1....

2018-08-23 11:49:01 210

原创 分布式系统——向zabbix中添加监控项, 以nginx和mysql为例

实验环境server1:rhel 7.3系统——172.25.54.1server2:rhel 6.5系统——172.25.54.11一、zabbix监控nginx添加监控项active server2[root@server2 ~]# lsnginx-1.8.0-1.el6.ngx.x86_64.rpm zabbix-agent-3.4.6-1.el6.x86_...

2018-08-23 11:04:49 287

原创 分布式系统——网络监视系统zabbix3.4.2,以及向zabbix中添加被监视主机(一)

一、认识zabbix zabbix(音同 za:bix)是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。 zabbix能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。 zabbix由2部分构成,zabbix server与可选组件zabbix agent。 zabbix serv...

2018-08-20 18:16:13 739

原创 mysql ——读写分离

一、实验环境:server1:master 172.24.54.1server2:slave 172.25.54.2 主从复制server3:mysql-proxy代理 172.25.54.3此实验在mysql的主从复制的基础上进行, 需要配备好主从的环境二、配置server3[root@server3 ~]# lsmysql-proxy-...

2018-08-20 12:34:53 225

原创 mysql ——MHA

一、项目环境: server1 : mha-manager server2 : master server3,4 : slave首先,在mysql组的三台服务器上做如下配置: /etc/init.d/mysqld start rm -rf /var/lib/mysql/* /etc/init.d/mysqld restart vim /et...

2018-08-20 11:07:23 168

原创 mysql 5.7 的组复制

组复制简介 组复制分单主模式和多主模式,mysql 的复制技术仅解决了数据同步的问题,如果 master 宕机,意味着数据库管理员需要介入,应用系统可能需要修改数据库连接地址或者重启才能实现。(这里也可以使用数据库中间件产品来避免应用系统数据库连接的问题,例如 mycat 和 atlas 等产品)。组复制在数据库层面上做到了,只要集群中大多数主机可用,则服务可用,也就是说3台服务器...

2018-08-16 15:58:54 377

原创 mysql 主从复制优化、并行复制

实验环境:server2 为 server3 的 masterserver3 为 server1 的 master即server1、2、3的身份如下:server2:masterserver3:master / slaveserver2:slave由于先前做过其他数据库实验,环境是server2为master, server1和server3为s...

2018-08-16 13:53:10 1222

原创 mysql主从复制、基于GTID的主从、半同步

[root@server1 ~]# ls mysql-community-client-5.7.17-1.el6.x86_64.rpm mysql-community-libs-compat-5.7.17-1.el6.x86_64.rpmmysql-community-common-5.7.17-1.el6.x86_64.rpm mysql-community-server-5.7.17-...

2018-08-16 11:29:09 249

原创 Nginx+Tomcat+memcached负载均衡实现seccion存储

实验环境:rhel6.5server1:172.25.54.9 nginx+php+memcached+tomcatserver2:172.25.54.4 memcached+tomcatserver1配置tomcat[root@server1 ~]# /etc/init.d/php-fpm start //开启PHPStarting php...

2018-08-16 09:03:19 331

原创 LNMP架构环境搭建之PHP、Nginx源码编译安装及其简单配置应用

一、PHP简介 PHP(外文名:PHP: Hypertext Preprocessor,中文名:“超文本预处理器”)是一种通用开源脚本语言。语法吸收了C语言、Java和Perl的特点,利于学习,使用广泛,主要适用于Web开发领域。PHP 独特的语法混合了C、Java、Perl以及PHP自创的语法。它可以比CGI或者Perl更快速地执行动态网页。用PHP做出的动态页面与其他的编程语言相比,P...

2018-08-06 17:17:58 636

原创 LNMP架构环境搭建之mysql源码编译安装

Mysql MySQL是一个开源的数据库,在互联网行业应用的很广泛,下面来记录一下从源码编译安装的步骤,当然,MySQL也有其他安装方式,比如,使用yum下载安装rpm包,或者二进制方式安装,如果机器比较多,可以自己搭建yum源,然后定制rpm包,这样更方便于使用ssh多机自动安装 这里源码安装的mysql版本为5.7.11,使用cmake编译安装,所需安装包的下载链接:cmake...

2018-08-06 17:17:22 491

原创 Haproxy + Pacemaker 实现高可用负载均衡(二)

Pacemakerserver1 和 server2 均安装pacemaker 和 corosyncserver1 和 server2 作相同配置[root@server1 ~]# yum install -y pacemaker corosync[root@server1 ~]# cp /etc/corosync/corosync.conf.example /etc/coros...

2018-08-06 17:16:53 269

原创 Haproxy + Pacemaker 实现高可用负载均衡(一)

pacemaker+corosync+haproxy 高可用架构由两个核心部分组成,一个是心跳检测,判断服务器是否正常运行;一个是资源转移,用来将公共资源在正常服务器和故障服务器之间搬动。两个结合起来使用,可以实现对高可用架构的自动管理。 整个运行模式就是心跳检测不断的在网络中检测各个指定的设备是否能够正常响应,如果一旦发生设备故障,就由资源转移功能进行应用的切换,以继续提供服务。...

2018-08-06 17:16:14 297

原创 RHCS套件实现高可用负载均衡集群(三)——共享存储

注:此博文在博文“RHCS套件实现高可用负载均衡集群(一)” 和 “RHCS套件实现高可用负载均衡集群(二)”的基础上完成

2018-08-03 22:38:10 266

原创 RHCS套件实现高可用负载均衡集群(二)——Fence设备

注:此博文在博文“RHCS套件实现高可用负载均衡集群(一)”的基础上完成环境:物理机:172.25.54.250,作为fence server1:172.25.54.1 , server1作为主节点 server2:172.25.54.2 , server2作为副节点 server3:172.25.54.3 , 暂时用作RS进行负载均衡测试 , 后面作iscci共享存储...

2018-08-03 22:37:28 438

原创 RHCS套件实现高可用负载均衡集群(一)

一、RHCS什么是RHCS RHCS即 RedHat Cluster Suite ,中文意思即红帽集群套件。红帽集群套件(RedHat Cluter Suite, RHCS)是一套综合的软件组件,可以通过在部署时采用不同的配置,以满足你的对高可用性,负载均衡,可扩展性,文件共享和节约成本的需要。提供有如下两种不同类型的集群:1.高可用性:应用/服务故障切换-通过创...

2018-08-03 22:36:48 448

原创 LVS的三种负载均衡以及高可用原理(VS/NAT、VS/TUN、VS/DR)

LVS LVS(Linux Virtual Server)是一个虚拟的服务器集群(Cluster)系统,采用IP负载均衡技术和基于内容请求分发技术。调度器具有很好的吞吐率,将请求均衡地转移到不同的服务器上执行,且调度器自动屏蔽掉服务器的故障,从而将一组服务器构成一个高性能的、高可用的虚拟服务器。整个服务器集群的结构对客户是透明的,而且无需修改客户端和服务器端的程序。 使用...

2018-08-02 00:00:35 759

原创 varnish的服务配置(实验说明)

dvdv

2018-07-31 11:33:14 583

空空如也

空空如也

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

TA关注的人

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