自动化运维工具—saltstack 与之前的ansible一样,saltstack也是使用python语言所编写的自动化运维工具。但是二者的通信机制却并不相同。相比较于ansible以linux系统的SSH服务为基础的通信方式,saltstack使用的则是ZMQ消息队列的方式来进行通信。前者的优势在于直接调用linux集成的底层服务,这样就不需要客户端来进行通信了,但这又导致其效率不够高。而后者采用的是C/S架构,即服务端和客户端...
自动化运维工具ansible 自动化运维工具ansibleansible安装及基本操作ansible用于远程连接并部署服务的用户身份的配置ac-hoc及其常用模块playbookansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet、cfengine、chef、func、fabric)的优点,实现了批量系统配置、批量程序部署、批量运行命令等功能ansible是基于模块工作的,本身没有...
LNMP环境部署 LNMP环境部署LNMP是指一组通常一起使用来运行动态网站或者服务器的自由软件名称首字母缩写。L指Linux,N指Nginx,M一般指MySQL,也可以指MariaDB,P一般指PHP,也可以指Perl或Pythonnginx源码编译安装1.解压nginx安装包tar zxf nginx-1.14.0.tar.gz 2.进入nginx解压出来的安装目录,编辑配置文件,优化编译安装的过程...
RHCS红帽高可用套件 RHCS红帽高可用套件RHCS即 RedHat Cluster Suite ,中文意思即红帽集群套件。红帽集群套件(RedHat Cluter Suite, RHCS)是一套综合的软件组件,可以通过在部署时采用不同的配置,以满足对高可用性,负载均衡,可扩展性,文件共享和节约成本的需要。主要功能:1 . 高可用集群是RHCS的核心功能当正使用的节点出现故障时,RHCS提供的高可用管理组件自...
企业级服务架构组成-LVS 企业级服务架构组成-LVSLVSLVSlvs是开源软件,linux系统中所集成的原生的服务。与上一篇博客中的varnish一样的是,二者都可以作为在服务器前端的负载均衡器,对后端的资源服务器进行调度。但是二者所不同的是 ,作为负载均衡的调度器,varnish工作于ISO网络模型的应用层,但是lvs工作于硬件层面,也就是网络模型中的2,3层。...
Python—面向对象编程 Python—面向对象编程面向对象面向对象面向对象编程(OOP,Object Oriented Programming)还有OOD(面向对象的设计),OOA(面向对象的分析).面向对象其实就是对于面向过程编程的更进一步的上层封装面向过程可能有函数之间相互调用调用的情况面向过程,是将各种功能封装成函数;而面向对象,则是更大的封装,将一类函数及其相应的调用的变量(数据)封装在一起 ...
Python操作数据库 Python操作数据库mysqlredis`在这里插入代码片`默认返回bit类型(二进制) 如果需要转换 要解码为utf-8编码格式 当我们实际工作中遇到了什么乱码,只需要使用正确的解码方式对于二进制数据进行解码即可获取所有的key值当前redis数据库中数据条数mysqlredis在这里插入代码片远程连接数据库服务器:下载mariadb-server设定用户密码查看网络端口是否...
Python中的异常机制 Python中的异常处理机制异常处理异常捕捉主动抛出异常断言异常处理异常处理就是我们在写Python时,经常看到的报错信息,例如;NameError,TypeError,ValueError等,这些都是异常。异常是一个事件,该事件会在程序执行过程中发生,影响程序的正常执行,一般情况下,在python中无法处理程序时就会发生异常,异常是Python的一个对象,表示一个错误,当Python脚本...
Python中的常用模块 Python中的常用模块os模块time模块os模块调用os(操作系统)模块函数:调用模块内函数,先要导入,导入模块,要放在文件最前面import os# 1.判断操作系统类型# 根据os.name的值判断是什么系统:# 值为posix是linux操作系统,值为nt则是windows操作系统print(os.name)print('windows' if os.name ==...
Python中的文件操作 Python中的文件操作文件w+ 在读取文件时,会清空原文件的内容(实际上,准确地说是将从文件指针开始后的内容都删除了)f.tell() 指示文件指针的位置对于一个文件同时进行两次读操作,第二次将无法读取到文件内容,因为文件指针位置改变了(文件指针已经移动到了文件末尾了)由于我们使用普通用户打开pycharm.sh脚本。我们对文件进行操作,需要对于文件和文件所在目录都要有相应...
Python中的装饰器 Python中的装饰器装饰器:用于在不改变原函数的基础上,为其添加功能。即,动态地增加原函数的功能:可以随时为其添加功能,也能够随时取消其功能。能够随时更换增加的功能,也能在已增加功能的基础上,再增加功能。如果想更深入的了解的话,读者可以自行查阅关于设计模式的文章基本的装饰器写法:def outer(f): # 传入一个函数作为参数,传入函数名作为形参f的值,函数名不必一定与形参...
高阶函数,匿名函数 高阶函数高阶函数reduce [1,2,3,4,5] 是对于序列内的元素各自操作,但是得到各个元素得到一个统一的,整体的结果(如累加,累乘)(将前两个元素通过传入的函数操作,得到执行结果,而该执行结果接着与第三个元素一起操作)reduce(sum,[1,2,3,4,5])可能的结果:1+2+3+4+5高阶函数高阶函数abs()取绝对值abs() 函数调用abs 函数(函数名)...
列表生成式,字典生成式 列表生成列表生成式字典生成式高阶函数reduce [1,2,3,4,5] 是对于序列内的元素各自操作,但是得到各个元素得到一个统一的,整体的结果(如累加,累乘)(将前两个元素通过传入的函数操作,得到执行结果,而该执行结果接着与第三个元素一起操作)reduce(sum,[1,2,3,4,5])可能的结果:1+2+3+4+5列表生成式相较于之前使用for循环生成列表的方式,这种写法更专业可能...
深拷贝和浅拷贝 深拷贝和浅拷贝a=1b=a # 这也是一拷贝变量 指向/引用 值a ——> 1浅拷贝:copy.copy()深拷贝:copy.deepcopy()如果 copy.copy()拷贝的是元组 那么它不会进行浅拷贝 仅仅是指向因为元组是不可变数据类型,意味着数据一定不能修改因此它会自动判断为指向import copya=[1,2]...
is和==的区别 is和==的区别id():在内存中存储的位置type():变量的类型value:值==:type valueis:type value id>>> a = '1'>>> b = 1>>> a == bFalse>>> a = '1'>>> b = a>>> a is ...
python中的函数 python中的函数函数的定义函数的形参函数的返回值函数的作用域函数的定义使用关键字def定义函数python中允许嵌套定义函数,即一个函数定义的内部再定义一个函数但是,内部定义函数,不仅要有定义,也要有调用(否则就白定义了~~)# 如何定义一个函数def hello(): print('python') print('hello')# 通过函数名来调用函数hel...
python中常用的内置方法 python中常用的内置方法min(3,4) #取两个参数中的最小值max(3,4) #取两个参数中的最大值sum(range(1,101)) #使用sum()方法求和sum(range(1,101,2))sum(range(2,101,2))# 枚举:返回索引值和对应的valuefor i, v in enumerate('hello'): # print(i,v...