
Linux
文章平均质量分 80
还能中文
这个作者很懒,什么都没留下…
展开
-
框架信息分页显示
hosts=['172.25.254.'+str(i) for i in range(101)]class Page(object): def __init__(self,current_page,per_items): self.__current_page =current_page self.__per_items=per_items @pro原创 2018-03-30 20:28:50 · 145 阅读 · 0 评论 -
异常处理&&抛出异常
异常处理机制: try…..except…..finally…..try: # 需要捕获异常的代码块, 必须执行, 如果遇到异常, 调转到excepct语句; # 如果异常能被except后面的Error捕获, 执行except语句的内容, 然后执行finally; # 如果异常不能被except后面的Error捕获, 直接执行finally;; f = open('原创 2018-04-03 21:17:24 · 428 阅读 · 0 评论 -
一个简单的爬虫
import re# socket--->import urllibimport timeurl = 'https://tieba.baidu.com/p/5631230268'def getHtml(url): # urllib.urlopen打开指定的网络链接; page = urllib.urlopen(url) # read()查看网页的内容; html原创 2018-04-03 23:08:52 · 143 阅读 · 0 评论 -
装饰器
装饰器1.闭包def fun(): def wrapper(x,y): return x+y return wrapperg=fun()print gprint g(1,2)执行结果:python首先读取def fun()发现是函数,直接跳到g=fun(),再到下一条命令,print g,返回到def fun(),读取def wrapper(),return返回原创 2018-03-28 20:27:19 · 165 阅读 · 0 评论 -
模块与包
模块一.模块其实就是python脚本,增强代码的可维护性和可重用性;系统内置模块:time, random自定义模块: 第三方模块:二.导入模块的三种方法:import 模块名: 尽量优先使用, 避免与现有的函数名或者变量名冲突; 模块名.函数名() 模块名.变量名from 模块名 import 函数/变量名: 有节制的使用;容易与现有的函数名或者变量名冲突;from 模块名 im原创 2018-03-28 21:30:34 · 612 阅读 · 0 评论 -
LVS+keepalived集群
host1 主调度器,host4辅调度器,host2,host3是服务器 基本配置:服务器host2和host3,不需要vip,start keepalived时会自动生成vip,[root@host1 ~]# ipvsadm -A -t 172.25.254.10:80 -s rr [root@host1 ~]# ipvsadm -a -t 172.25.254.10:80 -r 172原创 2018-04-11 16:20:10 · 244 阅读 · 0 评论 -
cdn
一.封装一个6.5版本的redhat linux安装过程和7以上的版本有所不同, 因为选择的是网络安装,因为eth0问题导致无法安装,原因的没dhcp源,所以本地安装 安装号之后配置yum源 网络配置:vi /etc/sysconfig/network-scripts/ifcg-eth0添加本地解析,后边以此为母盘新建虚拟机使用vi /etc/hosts 关闭防火原创 2018-04-10 00:54:09 · 453 阅读 · 0 评论 -
json模块
json是一种轻量级数据交换格式,自行百度去,这里上干货json.dumps(被转对象)方法import jsonDB_CONFIG = { 'user':'root', 'passwd':'westos', 'host':'localhost', 'port':3306, 'db':'westos01', 'charset': 'u...原创 2018-04-04 20:33:10 · 205 阅读 · 0 评论 -
flask框架静态路由和动态路由
Flask是一个Python编写的Web微框架,让我们可以使用Python语言快速实现一个网站或Web服务。 首先保证你的电脑可以正常上网:终端超级用户身份执行:pip install flask pycharm中不要以flask命名文件不然导入模块会发生问题: 这些问题鄙人可是经历过的@_@静态路由from flask import Flaskapp = Flask(__...原创 2018-04-04 21:05:13 · 5167 阅读 · 0 评论 -
flask框架之跳转
实验前的操作见上一篇 需要加载一个模块render_template,新建文件夹templates用于存放网页文件,和框架在平行位置,别建错了,否则要写绝对路径 执行结果: index.html内容 系统信息的监控需要加载psutil模块 psutil是一个跨平台库(http://code.google.com/p/psutil/),能够轻松实现获取系统运行的进程和系统利...原创 2018-04-04 22:25:57 · 1643 阅读 · 1 评论 -
数据库编程实例
判断数据库指定表是否存在import MySQLdbdb = raw_input('请输入数据库名:')table_name=raw_input("请输入表名:")conn =MySQLdb.Connect(user='root',passwd='redhat',host='localhost',db=db,port=3306)cur=conn.cursor()cur.execute('s原创 2018-04-03 21:02:50 · 6145 阅读 · 0 评论 -
VS-DR
VS-DR模式 负载调度器只负责调度请求,而服务器直接将相应返回给客户机,这样就提高了整个集群系统的吞吐量。这种模式的前提是调度器和服务器要物理上有一个网卡通过不分段的局域网连接,例如交换机或者告诉的HUB连接。就是说调度器和服务器要在同一网段。所有的服务器和服务器组共享一个vip(虚拟ip地址),调度器的vip对外是可见的,用户于接受虚拟服务的请求报文,所有的服务器把vip地址配备在各自...原创 2018-04-10 19:34:02 · 659 阅读 · 0 评论 -
练习题
1.判断一个ip是否合格(1)ip是点分十进制,十进制有四段,不能有空格 (2)ip每段十进制数字范围[0-255]ip = raw_input('ip:')if len(ip.split('.')) !=4: print 'no' exit(0)li = [ i.isspace() for i in ip] if li.count(True)>0: ...原创 2018-03-24 19:32:26 · 245 阅读 · 0 评论 -
python字符串 列表 元组 字典 集合的相互转化
一.字符串str1.字符串转化列表s = 'hello python'li = list(s)print liprint type(s)print type(li)结果['h', 'e', 'l', 'l', 'o', ' ', 'p', 'y', 't', 'h', 'o', 'n']<type 'str'><type 'list'>...原创 2018-03-25 14:52:21 · 10519 阅读 · 3 评论 -
_format魔术方法
先看个实例_formats = { 'ymd': '{d.year}-{d.month}-{d.day}', 'dmy': "{d.day}-{d.month}/{d.year}", 'mdy': "{d.month}/{d.day}/{d.year}"}class Date(object): def __init__(self, year, month, day原创 2018-03-31 12:07:50 · 220 阅读 · 0 评论 -
_iter魔术方法,__ge__()等
from collections import Iterableclass Student(object): def __init__(self,name): self.name=name self.score=[100,90,89] def __iter__(self): print '判断self.score是否可迭代' ##se原创 2018-03-31 13:17:27 · 350 阅读 · 0 评论 -
切片魔术方法
__getslice__(self,i,j)参数为切片索引,步长可有可无class Student(object): def __init__(self,name): self.name=name self.score=[10,11,12,13,14,15] def __getslice__(self,i,j): return self.原创 2018-03-31 14:34:55 · 271 阅读 · 0 评论 -
字典,集合,函数,global全局变量声明
1.if实现switch#!/usr/bin/env python#coding=utf-8while 1: num1 = input("num1:") oper = raw_input("操作符:") num2 = input("num2:") if oper == "+": print num1 + num2 elif op...原创 2018-03-21 21:08:47 · 2094 阅读 · 0 评论 -
jupyter notebook
1.jupyter notebook是什么自行百度 2.jupyter notebook安装 以下操作是root用户 终端命令: pip install jupyter notebook然后jupyter notebook第三步 jupyter notebook --generate-config第四步 vim /root/.jupyter/ju...原创 2018-04-09 18:31:15 · 148 阅读 · 0 评论 -
iPVS FULLNAT
FullNAT: 除了DR/NAT/TUNNEL之外IPVS下的新的包转发模式,解决了DR/NAT/TUNNEL中的一些缺点(如不能跨vlan或者跨vlan成本太高,服务搭建较复杂,不易运维等)。主要规则如下: local ip address (IDC internal ip address, lip) IPVS 转换cip-vip 到/来自 lip-rip,这里的lip和rip都是ID...原创 2018-04-10 23:35:42 · 1029 阅读 · 0 评论 -
类方法和静态方法
通过静态方法和类方法能够把相关的函数封装到一个类里面,有效的将代码组织起来, 提高代码的可维护性;普通方法:class Date(object): def __init__(self,year,month,day): self.year=year self.month=month self.day=day ##普通方法 def原创 2018-04-03 18:29:10 · 188 阅读 · 0 评论 -
linux桌面快捷方式
比如:安装了pycharm想在桌面创建一个快捷方式 寻找到pycharm的安装路径:/opt/pycharm-community-2017.1.4/bin/pycharm.sh 寻找到pycharm的图标:/opt/pycharm-community-2017.1.4/bin/pycharm.png cd进入到/usr/share/applications/ vim py.desk...原创 2018-04-04 23:00:37 · 223 阅读 · 0 评论 -
anaconda的简单安装
1.Anaconda是什么自行百度 2.安装一个是官网,一个是清华开源镜像库root用户 下载Anaconda3-5.1.0-Linux-x86_64.sh 终端执行bash /路径/Anaconda3-5.1.0-Linux-x86_64.sh ##bash加上你下的这个.sh文件的绝对路径,安装过程是交互性的环境变量设置:Anaconda3以上版本在安装交互过程中会自动添加...原创 2018-04-05 21:25:40 · 206 阅读 · 0 评论 -
haproxy peacemaker
hHAProxy 提供高可用性、负载均衡以及基于 TCP 和 HTTP 应用的代理,支持虚拟主机,它是免费、快速并且可靠的一种解决方案。HAProxy 特别适用于那些负载特大的 web 站点, 这些站点通常又需要会话保持或七层处理。HAProxy 运行在当前的硬件上,完全可以支持数以万计的并发连接。并且它的运行模式使得它可以很简单安全的整 合进您当前的架构中, 同时可以保护你的 web 服务器不被暴原创 2018-04-30 17:56:33 · 934 阅读 · 0 评论 -
数据库高可用
一首先是主从复制的状态,或者半同步:!!清空环境(之前做的组复制)关闭数据库,删除/var/lib/mysql/*,重新启动初始化,统一修改密码为Westos+007 host1 : matser (node1) host2: master-slave(node2) host3: master-salve(node3) host4: mha-manager...原创 2018-04-28 21:35:31 · 1151 阅读 · 0 评论 -
redis
redis需要lnmp架构 host5为redis host6为数据库 host7为lnmp架构host7操作lnmp架构1:安装php-fpm,nginx基本配置yum install nginx-1.8.0-1.el6.ngx.x86_64.rpm php-5.3.3-38.el6.x86_64.rpmphp-cli-5.3.3-38.el6.x86_64.r...原创 2018-04-28 00:51:53 · 1735 阅读 · 0 评论 -
数据库的慢查询日志
MySQL的慢查询日志可以用来找出执行时间过长的查询语句,并进行针对性的优化。这里只是简单说明一下,更多的另行参阅 一、slow log相关参数 以下参数都是动态参数,可以在实例运行时修改。 slow_query_log=1 #是否启用慢查询日志,1为启用,0为禁用 slow_query_log_file=slow.log #指定慢查询...原创 2018-04-29 12:45:41 · 489 阅读 · 0 评论 -
nginx(2)
因为之前做的nginx删除了,所以只好重新编译了[root@host5 ~]# tar zxf echo-nginx-module-0.61.tar.gz ###带回会用到这里先解压,进行编译,后边回提到[root@host5 ~]# tar zxf nginx-1.10.1.tar.gz [root@host5 ~]# tar zxf nginx-sticky-module-ng....原创 2018-04-29 23:49:18 · 515 阅读 · 1 评论 -
elk
一.elk是什么?ELK是三个开源软件的缩写,分别表示:Elasticsearch , Logstash, Kibana , 它们都是开源软件。新增了一个FileBeat,它是一个轻量级的日志收集处理工具(Agent),Filebeat占用资源少,适合于在各个服务器上搜集日志后传输给Logstash,官方也推荐此工具。Elasticsearch是个开源分布式搜索引擎,提供搜集、分析、存储数...原创 2018-05-30 00:03:08 · 6964 阅读 · 0 评论 -
实时录播
实时录播打开两个终端终端1:[root@192.168.1.10 ~]# mkfifo lable[root@192.168.1.10 ~]# script -f lable //卡在这里正常终端2:[root@192.168.1.10 ~]# cat lableScript started on Thu 25 Oct 2018 07:33:41 AM CSTo...原创 2018-10-27 16:20:55 · 489 阅读 · 0 评论 -
sftp服务
**Sftp服务**一. 创建根目录和组 [root@localhost ~]# mkdir /sftp/data -p -m 755 [root@localhost ~]# useradd -g sftp -s /bin/false wei二. 设置属主权限[root@localhost ~]# groupadd wei[root@localhost ~]# chown roo...原创 2019-02-13 19:08:03 · 3474 阅读 · 0 评论 -
内核能力
Linux是一种安全操作系统,它给普通用户尽可能低的权限,而把全部的系统权限赋予一个单一的帐户root。root帐户用来管理系统、安装软件、管理帐户、运行某些服务、安装/卸载文件系统、管理用户、安装软件等。另外,普通用户的很多操作也需要root权限,这通过setuid实现。这种依赖单一帐户执行特权操作的方式加大了系统的面临风险,而需要root权限的程序可能只是为了一个单一的操作,例如:绑定到特权...原创 2019-06-27 21:50:13 · 1031 阅读 · 0 评论 -
hardoop
先上干货,原理后便补充 官网:apache.hadoop.org 需要java环境: server1:172.25.254.1 server2:172.25.254.2 server3:172.25.254.3 server4:172.25.254.4 server5:172.25.254.5一.环境配置1.hadoop用户,所有主机hadoop用户uid,gid一致,密...原创 2018-05-19 18:39:44 · 1133 阅读 · 0 评论 -
docker笔记
封装基础镜像 docker run –name v1 -it rhel7 bash cd /etc/yum.repos.d/ vim yum .repo [yum] name=rhel7.3 baseurl=http://172.25.10.250/rhel7.3 gpgcheck=0 rm -fr redhat.repoctrl p + qrpmdb –rebuild...原创 2018-05-12 11:34:19 · 279 阅读 · 0 评论 -
cacti
环境:redhat7.2 Server1一.需要安装的包yum install php php -m ##查看php加载的模块 rpm -q php ##7.2源版本 yum install php-mysql(-5.4.16-36.el7_1.x86_64)安装php-snmp-5.4.16-36.el7_1.x8...原创 2018-05-01 17:34:23 · 484 阅读 · 0 评论 -
lamp架构
一.mysql的编译1.获得 解压 mysql-boost-5.7.11.tar.gztar zxf mysql-boost-5.7.11.tar.gz 2.进入解压后的目录中,开始源码编译三部曲3.安装工具包和依赖包yum install -y gcc gcc-c++ ncurses-devel bison openssl-devel zlib...原创 2018-04-20 00:59:53 · 798 阅读 · 1 评论 -
zabbix-1
Rhel7.2 Zabbix监控服务器:Host1:172.25.51.1 Host2:172.25.51.2 Host3:172.25.51.3 Zabix需要lamp环境一.安装包yum install httpd php php-mysql mysql-server mariadb mariadb-server (源自带)rpm -q php...原创 2018-05-02 16:46:05 · 371 阅读 · 0 评论 -
apache的三种工作模式
web服务器apache目前有三种稳定的MPM(Multi-Processing Module)多进程处理模式,分别是prefork,worker,和event,他们代表了apache的演变和发展.Prefork MPMPrefork MPM实现了一个非线程的,预派生的web服务器。它再apache启动之初,就预先派生了一些子进程,然后等待连接;可以减少频繁创建和销毁进程的开销,每个子进程...原创 2018-04-20 21:46:57 · 3006 阅读 · 1 评论 -
线程与进程,阻塞非阻塞,同步与异步
进程和线程的区别?(1)进程是资源的分配和调度的一个独立单元,而线程是CPU调度的基本单元 (2)同一个进程中可以包括多个线程,并且线程共享整个进程的资源(寄存器、堆栈、上下文),一个进程至少包括一个线程。 (3)进程的创建调用fork或者vfork,而线程的创建调用pthread_create,进程结束后它拥有的所有线程都将销毁,而线程的结束不会影...转载 2018-04-20 22:03:14 · 2313 阅读 · 0 评论 -
mysql数据库的同步
Slave服务器 io线程以redhat身份(密码认证成功)去拷贝master服务器的二进制日志(记载了master做了些什么,比如新建数据库等),到自己的relay-log中,slave的sql线程会去读取拷贝来的二进制日志,查看master做了什么,然后再进行相同的动作,达到数据同步: 多线程并行复制5.6就支持,(slave的sql多线程),5.7基于数据库(有几个数据库则有几个线程)...原创 2018-04-21 01:03:03 · 1892 阅读 · 0 评论