自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 Linux企业级运维7——(1)初识LNMP网络框架

一.LNMP架构简介二.LNMP架构的深层剖析NginxNGinx是一款高性能的web服务器,本身是不能处理php请求的,当接收到请求时,判断如果是php请求就会将请求交给php解析器处理然后将结果返回给client。Nginx一般把请求转发给fast-cgi管理进程进行处理,fast-cgi管理进程再选择cgi子进程处理请求,然后把结果返回给Nginx。Apache+php和n...

2019-05-06 11:36:11 256

原创 Linux企业级运维6——haproxy+apache的反向代理、负载均衡、动静分离、读写分离

一.Haproxy的简介(1)Haproxy是一个使用C语言编写的自由以及开放的源代软件,其提供高性能,负载均衡,以及基于TCP和HTTP应用程序代理。相较于Nginx,HAProxy更专注于反向代理,因此它可以支持更多的选项,更精细的控制,更多的健康检测机制的负载均衡算法。(2)HAProxy特别适用于那些负载特别大的web站点,这些站点通常又需要会话保持或者七层处理,HAProxy运行在当...

2019-05-01 00:50:49 311

原创 Linux企业级运维进阶教程5——(2)RHCS集群iscsi设备共享及其mysql的部署

一.实验环境本次实验将物理机作为前端页面管理机,server1和server2作为集群节点,server3作为共享设备服务端二.实验过程1.在server3服务端提供一个8G的虚拟共享设备storage fdisk -l ##查看安装共享存储需要的软件在文件里配置共享策略,开启服务并查看 yum install scsi-* -y vim /etc...

2019-04-29 13:42:37 231

原创 Linux企业级运维进阶教程5——(1)RHCS高可用集群的搭建及其前端页面管理

一、RHCS简介RHCS是Red Hat Cluster Suite的缩写,也就是红帽集群套件,RHCS 是一个能够提供高可用性、高可靠性、负载均衡、存储共享且经济廉价的集群工具集合,它将集群系统中三大集群架构融合一体,可以给web应用、数据库应用等 提供安全、稳定的运行环境。 更确切的说,RHCS是一个功能完备的集群应用解决方案,它从应用的前端访问到后端的数据存储都提供了一个行之有效的集群架构...

2019-04-28 23:23:46 209

原创 Linux企业级运维进阶教程4——(6)LVS负载均衡+HA高可用集群

一.HA(keepalived)高可用性集群简介Keepalived是Linux下的一个轻量级别的高可用解决方案。高可用(High Avalilability,HA),其实俩种不同的含义:广义上来讲,是指整个系统的高可用性,狭义上来讲就是主机的冗余和接管keepalived起初是为LVS设计的,专门用来监控集群系统中的各个服务的节点的状态,它根据TCP/IP参考模型的第三,第四,第五层交换机...

2019-04-25 18:25:54 267

原创 Linux企业级运维进阶教程4——(5)LVS健康状况检查

如果一个服务器宕机,访问的链接将时好时坏,这时就需要通过调度器对后端服务器进行健康检查一.环境配置这里为了实验结果更加明显,我们使用LVS的DR模式在server1代理服务器上配置yum源获得(使其获得高可用源) vim /etc/yum.repos.d/rhel-source.repo [HighAvailability] name=HighAvailability...

2019-04-19 22:51:35 173

原创 Linux企业级运维进阶教程4——(4)LVS的NAT模式

一、简介原理:就是把客户端发来的数据包的IP头的目的地址,在负载均衡器上换成其中一台RS的IP地址,并发至此RS来处理,RS处理完成后把数据交给经过负载均衡器,负载均衡器再把数据包的原IP地址改为自己的IP,将目的地址改为客户端IP地址即可。期间,无论是进来的流量,还是出去的流量,都必须经过负载均衡器。优点:集群中的物理服务器可以使用任何支持TCP/IP操作系统,只有负载均衡器需要一个...

2019-04-19 01:13:40 148

原创 Linux企业级运维进阶教程4——(3)LVS的TUN模式

一.简介原理:首先要知道,互联网上的大多Internet服务的请求包很短小,而应答包通常很大。那么隧道模式就是,把客户端发来的数据包,封装一个新的IP头标记(仅目的IP)发给RS,RS收到后,先把数据包的头解开,还原数据包,处理后,直接返回给客户端,不需要再经过负载均衡器。注意,由于RS需要对负载均衡器发过来的数据包进行还原,所以说必须支持IPTUNNEL协议。所以,在RS的内核中,必须编译...

2019-04-18 16:13:53 125

原创 Linux企业级运维进阶教程4——(2)LVS的DR模式

一.DR模式简介直接路由模式(VS-DR)原理:负载均衡器和RS都使用同一个IP对外服务。但只有DR对ARP请求进行响应,所有RS对本身这个IP的ARP请求保持静默。也就是说,网关会把对这个服务IP的请求全部定向给DR,而DR收到数据包后根据调度算法,找出对应的RS,把目的MAC地址改为RS的MAC(因为IP一致)并将请求分发给这台RS。这时RS收到这个数据包,处理完成之后,由于IP一致,可以...

2019-04-18 14:16:14 160

原创 LInux企业级运维进阶4——(1)LVS负载均衡简介

一.LVS是什么?LVS的英文全称是Linux Virtual Server,即Linux虚拟服务器。它是我们国家的章文嵩博士的一个开源项目。在linux内存2.6中,它已经成为内核的一部分,在此之前的内核版本则需要重新编译内核。二.LVS的功能?LVS主要用于多服务器的负载均衡。它工作在网络层,可以实现高性能,高可用的服务器集群技术。它廉价,可把许多低性能的服务器组合在一起形成一个超级服务...

2019-04-18 12:07:55 94

原创 Linux企业级运维进阶教程2——Varnish的反向代理及负载均衡

环境配置我们的实验使用rhel-server-6.5-x86_64-dvd.iso的镜像,然后用这个镜像安装一个虚拟机作为母盘,安装完成后进行以下配置:(1)更改主机名:vi /etc/sysconfig/network #6.5文本编辑器为vi(2)配置ip:vi /etc/sysconfig/network-scripts/ifcfg-eth0删除/etc/uaev/r...

2019-04-18 00:33:36 180

原创 Linux企业级运维进阶教程1——企业的分布式数据流向及CDN加速缓存

一.企业级的数据流向client---->cdn(reverse proxy 反向代理)---->LB负载均衡(HA+F5/LVS(4层))---->HA高可用+nginx/haproxy(7层)---->web(apache/nginx)---->app(php/jsp)---->DB数据库(mysql/redis/mongdb)当然在企业中除了这一主框架...

2019-04-16 16:19:12 172

转载 互联网面试必问——TCP协议到底是什么

一、TCP 协议的作用互联网由一整套协议构成。TCP 只是其中的一层,有着自己的分工。图片说明:TCP 是以太网协议和 IP 协议的上层协议,也是应用层协议的下层协议。)最底层的以太网协议(Ethernet)规定了电子信号如何组成数据包(packet),解决了子网内部的点对点通信。图片说明:以太网协议解决了局域网的点对点通信。)但是,以太网协议不能解决多个局域网如何互通,这由 IP ...

2019-04-15 23:09:10 445

原创 用Python写一个图书管理系统

源代码class Book(object):def __init__(self,name,author,status,BookIndex): self.name = name self.author = author self.status=status self.BookIndex = BookIndexdef __str__(self): if ...

2019-04-15 22:51:01 9764 3

原创 Python中封装、继承、多态的练习题

一.1.房子有户型,总面积和家具名称列表新房子没有任何的家具2.家具有名字和占地面积,其中床:占4平米衣柜:占2平米餐桌:占1.5平米3.将以上三件家具添加到房子中4.打印房子时,要求输出:户型,总面积,剩余面积,家具名称列表源代码class Furniture():def __init__(self,name,area): self.name = name ...

2019-04-15 22:39:32 2485

原创 Python中类的练习题

1.模拟栈的工作原理源代码class Stack():def __init__(self): self.stack = []def push(self,value): self.stack.append(value) return Truedef pop(self): #先判断栈是否为空 if self.stack: item ...

2019-04-15 14:01:59 1542

原创 Python进阶教程6——面向对象的三大特征封装、继承、多态

一.封装封装:在面向对象编程中,所有的类通常情况下很少让外部直接访问类内部的属性和方法,而是向外部类提供一些按钮,对其内部的成员进行访问,以保证程序的安全性。1.将属性和方法封装到一个抽象的类中2.外界使用类创建对象,对象调用方法3.对象方法的细节都被封装在类的内部示例需求1.李雷体重75.0公斤2.李雷每次跑步会减肥0.5公斤3.李雷每次吃东西体重会增加1公斤二.继承...

2019-04-15 13:53:24 198

原创 Python进阶教程5——面向对象

一.什么是面向对象对象:对象是现实世界或者思维世界中的实体在计算机中的反映,它将数据以及这些数据上的操作封装在一起。相比较函数,面向对象是更大的封装,根据职责在一个对象中封装多个方法1.在完成某一个需求前,首先确定职责–要做的事(方法)2.根据职责确定不同的对象,在对象内部封装不同的方法(多个)3.最后完成代码,就是顺序的让不同的对象调用不同的方法特点:1.注重对象和职责,不同的对...

2019-04-13 00:06:45 182

原创 京东面试题

1. 生成一个大文件ips.txt,要求1200行,每行随机为172.25.254.0/24段的ip;2. 读取ips.txt文件统计这个文件中ip出现频率排前10的ip;源代码import randomdef create_ip_file(filename):ip =[‘172.25.254.’ + str(i) for i in range(0,255)]print(random....

2019-04-12 00:01:28 97

原创 python文件操作练习题

1.创建文件data.txt,文件共100000行,每行存放一个1~100之间的整数源代码import randomf = open(‘data.txt’,‘w+’)for i in range(100000):f.write(str(random.randint(1,100)) + ‘\n’)f.seek(0)print(f.read())f.close()练习:1. 在...

2019-04-11 23:34:47 8746

原创 Python进阶教程4——OS模块对系统及目录的操作

一、什么是os模块os模块提供了多数操作系统的功能接口函数。当os模块被导入后,它会自适应于不同的操作系统平台,根据不同的平台进行相应的操作,在python编程时,经常和文件、目录打交道,所以离不了os模块。python编程时,经常和文件、目录打交道,这是就离不了os模块,本节内容将对os模块提供的函数进行详细的解读二.常用OS模块对系统的命令1.os.name:返回操作系统类型值为:...

2019-04-11 23:14:37 154

原创 Python进阶教程3——python中的文件操作详解

一.文件的打开和关闭打开文件的三步:打开 --> 操作 --> 关闭1.open 函数你必须先用Python内置的open()函数打开一个文件,创建一个file对象,相关的方法才可以调用它进行读写。语法: file object = open(file_name ,[ access_mode],[buffering])各个参数的细节如下: file_name:是一个包...

2019-04-11 22:18:27 146

原创 Python进阶教程2——有趣的第三方模块

在Pycharm中安装第三方模块【Ctrl + Alt + s】打开设置,按图索骥开始导入接下来介绍几个有趣的第三方模块1.itchat我们可以向好友无限发消息,(toUserName=)后面写用户名,我这里以微信的文件助手为例,下列代码被执行后会生成一个二维码,用微信扫描后即可实现相关内容当然也可以发文件,比如,我们向指定好友发送文件’/etc/passwd’当然它还有其...

2019-04-11 11:21:30 506

原创 装饰器的相关练习

管理员添加用户信息系统源代码import functoolsimport inspectdef is_admin(fun):@functools.wraps(fun)def wrapper(*args,**kwargs):inspect_res = inspect.getcallargs(fun,*args,*kwargs)print(‘inspect的返回值: %s’ %insp...

2019-04-11 10:54:57 95

原创 Python进阶教程1——装饰器

1.什么是装饰器装饰器就是对被装饰的对象(函数、类)进行重构的,其可以在不改变原来对象的情况下调用对象时执行重构后的行把一个函数当作参数,返回一个替代版的函数,本质就是一个返回函数的函数在不改变原函数的基础上,给函数增加功能对修改是封闭的,对扩展是开放的 ##引题:当登陆某系统时常常会有欢迎语,但修改时将在登陆函数中修改,可能会出现问题,所以避免直接侵入原函数修改。...

2019-04-11 00:22:59 171

原创 內推码的生成

随机生成內推码源代码import randomimport stringcode_str = string.ascii_letters + string.digitsprint(code_str)def gen_code(len=4):return ‘’.join(random.sample(code_str,len))print([gen_code(len=6) for i in...

2019-04-09 15:48:11 218

原创 Python基础教程12——map、reduce、filter、sorted、匿名函数

一.什么是高阶函数高阶函数1.实参是一个函数名2.函数的返回值是一个函数函数本身也可以赋值给变量,变量也可以指向函数二.几种常见的高阶函数map()函数:接收两个参数,一个是函数,一个是序列map将传入的函数依次作用到序列的每个元素,并把结果作为新的序列返回示例对于序列[-1,3,-5,-4]的每个元素求绝对值print(list(map(abs,[-1,3,-5,-4...

2019-04-09 15:24:58 126

原创 2018年腾讯在线编程题

题目描述:给定一个正整数,编写程序计算有多少对质数的和等于输入的这个正整数,并输出结果。输入值小于1000。如,输入为10, 程序应该输出结果为2。(共有两对质数的和为10,分别为(5,5),(3,7))[2,3,5,7]输入描述:输入包括一个整数n,(3 ≤ n < 1000)输出描述:输出对数示例1 :输入:10输出:2源代码num = int(in...

2019-04-08 23:23:28 268

原创 Python基础教程11——列表、字典生成式

一.列表生成式1.计算半径为10以内偶数的圆的面积并将结果存入一个列表如果用普通方法我们可以用列表生成式直接来完成2.找出1~100之间的所有质数3.找出/var/log下所有以.log结尾的文件二.字典生成式1.需求1:假设有20个学生,学生名为studentX,学生成绩在60~100之间,筛选出成绩在90分以上的学生需求2:将所有key值变为大写需求3:...

2019-04-08 23:12:42 140

原创 函数练习题

1.编写一个函数cacluate, 可以接收任意多个参数,返回的是一个元组.元组的第一个值为所有参数的平均值, 第二个值是大于平均值的所有数.源代码def cacluate(*args):avg = sum(args) / len(args)up_avg = []for item in args:if item > avg:up_avg.append(item)retu...

2019-04-08 13:27:04 306

原创 腾讯笔试编程题

腾讯笔试编程题:题目需求:对于一个十进制的正整数, 定义f(n)为其各位数字的平方和,如:f(13) = 12 + 32 = 10f(207) = 22 + 02 + 72 = 53下面给出三个正整数k,a, b,你需要计算有多少个正整数n满足a<=n<=b,且k*f(n)=n输入:第一行包含3个正整数k,a, b, k>=1, a,b<=1018, a&...

2019-04-08 13:02:32 999

原创 Python基础教程10——函数的参数、返回值、变量

1.参数的作用函数的参数,增加函数的通用性,针对相同的数据处理逻辑,能够适应更多的数据。1.在函数内部,把参数当作变量使用,进行需要的数据处理。2.函数调用时,按照函数定义的参数顺序,把希望在函数内部处理的数据,通过参数传递。2. 形参和实参形参:定义函数的时候的变量,用来接收参数用的,在函数内部作为变量使用,形参可以任意起名实参:调用函数时用来把数据传递到函数内部用的真实的数据...

2019-04-08 12:42:13 219

原创 Python基础教程9——函数的定义及调用

1.函数的定义所谓函数,就是把具有独立功能的代码块组织成为一个小模块,在需要的时候调用 ,函数是带名字的代码块,用于完成具体的工作,需要在程序中多次执行同一项任务时,你无需反复编写完成该任务的代码,而只需调用该任务的函数,让python运行其中的代码,你将发现,通过使用函数,程序编写,阅读,测试和修复都将更容易。定义函数–封装独立的功能函数的作用:在开发时,使用函数可以提高编写的效率以及代码...

2019-04-08 11:07:49 175

原创 列表,元组,集合、字典练习题

1.栈的工作原理入栈出栈栈顶元素栈的长度栈是否为空源代码s = ([])while True:print (‘管理目录’.center( 50, ‘*’ ) )print("""1.入栈2.出栈3.查看栈顶元素4.查看栈的长度5.栈是否为空6.退出“”")choice = input(‘输入你的选择:’)if choice == ‘1’:a = input...

2019-04-05 22:02:13 666

原创 Python基础教程8——列表、元组、集合、字典

一.列表1.列表的定义数组:存储同一数据类型的集合 例如:score = [10,20,30]列表:可以存储任意数据类型的集合列表嵌套2.列表的特性索引切片list[1:] 索引值1及之后的list[:-1] 索引值倒序第一个之前的list[::-1] 倒序重复连接成员操作符迭代列表里嵌套列表索引service2...

2019-04-04 22:30:05 253

原创 小米笔试题

输入hello xiao mi输出mi xiao hello用一行代码完成print(’ '.join(input().split()[::-1]))

2019-03-29 23:31:01 259

原创 字符串练习题

变量名是否合法:1.变量名只能由字母、数字、下划线组成2.只能以字母或下划线开头源代码while True:s = input(‘变量名:’)if s == ‘exit’:print(‘欢迎下次使用’)breakif s[0].isalpha() or s[0] == ‘’:for i in s[1:]:if not (i.isalnum() or i == '’):pri...

2019-03-29 23:24:08 498

原创 Python基础教程7——字符串

字符串或串(String)是由数字、字母、下划线组成的一串字符。一般记为 s=“a1a2···an”(n>=0)。它是编程语言中表示文本的数据类型。在程序设计中,字符串(string)为符号或数值的一个连续序列,如符号串(一串字符)或二进制数字串(一串二进制数字)。1.字符串的特性索引: 0,1,2,3,4 索引值默认从0开始切片,切片的规则: s[start: end:st...

2019-03-29 23:11:09 141

原创 while语句练习

猜数字游戏系统随机生成一个1~100的数字;用户总共有5次猜数字的机会;如果用户猜测的数字大于系统给出的数字,打印“too big”;如果用户猜测的数字小于系统给出的数字,打印"too small";如果用户猜测的数字等于系统给出的数字,打印"恭喜",并且退出循环;源代码import randomtrycount = 0computer = random.randint(1,...

2019-03-29 21:10:08 184

原创 Python基础教程6——while循环语句

while是计算机的一种基本循环模式。当满足条件时进入循环,进入循环后,当条件不满足时,跳出循环。while语句的一般表达式为:while(表达式){循环体}。1.while语句的成立while 条件:条件满足时,做的事情1条件满足时,做的事情2示例1.定义一个变量,记录循环次数i = 12.开始循环while i <= 3:#循环内执行的动作print(‘hello ...

2019-03-28 23:53:42 340

空空如也

空空如也

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

TA关注的人

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