05 2017 档案

摘要:先模拟一个web页面的选择不同输出不同 vim day8-7.py vim home.py vim account.py 执行输入不同的会出现不同的结果,输入不对则返回404 如果针对一个网站所有的页面都通过这种方法来判断代码将会很长也不合理 可以使用mvc框架 models 数据库 views h 阅读全文
posted @ 2017-05-31 18:33 minseo 阅读(325) 评论(0) 推荐(0) 编辑
摘要:预装glusterfs软件包 yum -y install centos-release-gluster37.noarch yum --enablerepo=centos-gluster*-test install glusterfs-server glusterfs-cli glusterfs-g 阅读全文
posted @ 2017-05-30 00:35 minseo 阅读(1233) 评论(0) 推荐(0) 编辑
摘要:Salt-API 1,htps证书 2,配置文件 3,验证。使用PAM验证 4,启动salt-api 安装salt-api yum -y install salt-api 创建用户 useradd -s /usr/sbin/nologin -M saltapi 设置密码 passwd saltapi 阅读全文
posted @ 2017-05-29 14:16 minseo 阅读(295) 评论(0) 推荐(0) 编辑
摘要:salt-minion也可以不安装通过在master安装salt-ssh 1,安装 yum -y install salt-ssh 2,配置salt的花名册 vim /etc/salt/roster 3,验证 salt-ssh '*' test.ping -i PS: -i参数是使用交互式验证,会要 阅读全文
posted @ 2017-05-29 13:07 minseo 阅读(199) 评论(0) 推荐(0) 编辑
摘要:SaltSyndic 1,SaltSyndic必须运行在salt-master上面 2,Syndic要连接另外一个Master比它更高级 在master安装syndic yum -y install salt-syndic vim /etc/salt/master 152是一台minion又安装了m 阅读全文
posted @ 2017-05-27 23:56 minseo 阅读(309) 评论(0) 推荐(0) 编辑
摘要:做网站时经常会用到remote_addr和x_forwarded_for这两个头信息来获取客户端的IP,然而当有反向代理或者CDN的情况下,这两个值就不够准确了,需要调整一些配置。Nginx作为web服务器 时需要根据源IP地址(remote_addr)进行某些限制,但是假如前端是负载均衡的话,Ng 阅读全文
posted @ 2017-05-27 23:18 minseo 阅读(1338) 评论(0) 推荐(0) 编辑
摘要:如果不想依赖master可以设置为无master vim /etc/salt/minion 就可以通过minion来安装一个salt-master了(下来查资料做,关闭salt-minion进程因为不需要) 1,修改minion配置文件 2,编写SLS 3,salt-call --local sta 阅读全文
posted @ 2017-05-26 22:44 minseo 阅读(342) 评论(0) 推荐(0) 编辑
摘要:Master端执行命令及操作默认会保存在master端的/var/cache/salt/master/jobs 默认保存时间是24小时 如果需要保存在数据库 先参考http://www.cnblogs.com/minseo/p/6816042.html 建立数据库及授权 yum -y install 阅读全文
posted @ 2017-05-26 22:26 minseo 阅读(332) 评论(0) 推荐(0) 编辑
摘要:当一个程序运行时报错,可以通过Python异常处理机制忽略错误或者以友好的方式提示错误 vim day8-2.py 错误有很多种可以定义对于某一种异常进行处理 PS:可以在最后加 except Exception,e:处理所有无法预测到的错误 以上的捕获异常代码异常,还有一种异常是主动触发异常,如果 阅读全文
posted @ 2017-05-26 17:24 minseo 阅读(266) 评论(0) 推荐(0) 编辑
摘要:isinstance判断一个变量的类型 >>> n1 = 10>>> isinstance (n1,int)True 判断n1是否是数字类型,如果是返回True如果不是防护False 同理可以判断是否是字符串 或者其他类型 也可以通过isinstance判断一个函数是否是从某个类的派生类 vim d 阅读全文
posted @ 2017-05-26 15:51 minseo 阅读(1262) 评论(0) 推荐(0) 编辑
摘要:对于这些类成员有修饰符 之前定义字段country任何对象都可以访问,是公有的 可以定义为私用属性,只有类内部的方法可以调用,外部不能直接调用,但是可以间接调用 vim day7-10.py 如果直接在外部调用Foo.__country会报错 同样在方法前面加两个下划线在类的外部的无法调用 PS:私 阅读全文
posted @ 2017-05-25 17:09 minseo 阅读(460) 评论(1) 推荐(0) 编辑
摘要:属性的定义和调用 1,定义时,在普通方法的基础上添加@property装饰器 2,定义时,属性仅有一个self参数 3,调用时,无需括号 vim day7-8.py 使用以上方法可以根据页数取得需要查询的数据的序号开始和结束值 这里使用属性的方法是为了调用看起来更加合理 取消属性装饰器,调用的时候就 阅读全文
posted @ 2017-05-25 14:39 minseo 阅读(234) 评论(0) 推荐(0) 编辑
摘要:普通方法要执行类里面的方法是通过对象触发的 触发的时候把自己赋值给self 类方法 vim day7-7.py 类的执行触发者是类,把自身赋值给cls,触发的时候是把类当成参数传递. 静态方法 静态方法的调用者是类,类加上静态方法其实就等于一个函数(java使用这种方法模拟函数) 类方法是对静态方法 阅读全文
posted @ 2017-05-25 14:38 minseo 阅读(158) 评论(0) 推荐(0) 编辑
摘要:类成员: 字段,方法,属性 属性是在一个函数方法前面加一个装饰器,伪造成为一个字段,调用的时候不需要加括号() 目的是把一个方法伪造成为一个字段,属性也是方法的一种,对这个方法进行改造就可以以 字段的方法进行访问,访问一个方法是一系列动作返回一个结果,访问属性相当于自身特有 的一个特质而不是一个动作 阅读全文
posted @ 2017-05-25 12:03 minseo 阅读(409) 评论(0) 推荐(0) 编辑
摘要:#基类class F: def f1(self): pass #派生类class S(F): def f2(self): pass obj = s()obj.f2()obj.f1() Python 支持多继承,多继承的类里面有相同的方法前面的优先 vim day7-4.py 输出为D.bar 改成新 阅读全文
posted @ 2017-05-24 18:32 minseo 阅读(161) 评论(0) 推荐(0) 编辑
摘要:面向函数的编程和面向对象编程对比 vim day7-2.py 通过函数和对象的方法实现同样的功能,看起来是面向函数的编程比较简单 假如是连接数据库的增,删,改,查操作使用面向对象的方法代码更加简单 vim day7-3.py 可以obj1 obj2等进行类的实例化,把不同的主机或端口封装在不同的类里 阅读全文
posted @ 2017-05-24 17:36 minseo 阅读(557) 评论(0) 推荐(0) 编辑
摘要:Random模块生成随机数 >>> print random.random() #随机生成0-1的小数0.772367387029>>> print random.randint(1,200) #随机生成整数小于或者等于107>>> print random.randrange(1,200) #随机 阅读全文
posted @ 2017-05-24 11:14 minseo 阅读(340) 评论(0) 推荐(0) 编辑
摘要:cd /srv/salt/prod/ mkdir haproxymkdir keepalivedmkdir nginxmkdir phpmkdir memcachedmkdir pkg cd pkg vim make.sls 先安装一遍haproxy取得配置文件等信息 cd /srv/salt/pr 阅读全文
posted @ 2017-05-18 23:21 minseo 阅读(335) 评论(0) 推荐(0) 编辑
摘要:为了防止别人恶意将大量域名解析到自己的网站上面。我们可以对nginx做防止恶意域名解析,这样就只能通过自己的域名访问网站,其他域名就会显示错误500打开Nginx配置文件nginx.conf,在原来的server添加一个server配置如下: server {listen 80 default;re 阅读全文
posted @ 2017-05-18 15:27 minseo 阅读(1424) 评论(0) 推荐(0) 编辑
摘要:vim day6-5.py 类是一个模板不应用就是一个静态的 实例化会生成一个对象,对象是实体,对象是真实存在的 实例化是一个动作 给类赋予一个吃的功能 vim day6-5.py 执行就在吃了 调用p2.eat()也显示在吃,但是到底是谁在吃不知道 vim day6-6.py 这样需要在定义的时候 阅读全文
posted @ 2017-05-18 00:05 minseo 阅读(238) 评论(0) 推荐(0) 编辑
摘要:设置时区同样, 在 CentOS 7 中, 引入了一个叫 timedatectl 的设置设置程序. 用法很简单: # timedatectl # 查看系统时间方面的各种状态 Local time: 四 2014-12-25 10:52:10 CST Universal time: 四 2014-12 阅读全文
posted @ 2017-05-17 15:12 minseo 阅读(10611) 评论(1) 推荐(0) 编辑
摘要:re模块用于对python的正则表达式的操作 字符: .匹配除换行符以外的任意字符 \w匹配字母或数字或下划线或汉字 \s匹配任意空白符 \b匹配单词的开始或结束 ^匹配字符串的开始 $匹配字符串的结束 次数 *重复零次或多次 +重复一次或多次 ?重复零次或者一次 {n}重复n次 {n,}重复n次或 阅读全文
posted @ 2017-05-17 10:20 minseo 阅读(259) 评论(0) 推荐(0) 编辑
摘要:logging 用于便捷既然日志切线程安全的模块 vim log_test.py 运行生成日志文件log.log 模拟一个生成错误日志的脚本 执行如果输入的是数字,写入info日志如果不是则写成error日志 PS:level=logging.DEBUG 是代表最低记录基本如果改成WARNING则不 阅读全文
posted @ 2017-05-16 23:08 minseo 阅读(251) 评论(0) 推荐(0) 编辑
摘要:1,怎么打印时间戳 2,怎么打印日期 3,怎么把字符串转换成python认识的日期 把日期转换成字符串 字符串转换成日期格式 time.strptime("2017-5-16","%Y-%m-%d") time.struct_time(tm_year=2017, tm_mon=5, tm_mday= 阅读全文
posted @ 2017-05-16 17:39 minseo 阅读(169) 评论(0) 推荐(0) 编辑
摘要:shutil 高级的 文件,文件夹,压缩包 处理模块 正常把一个文件的内容拷贝到另外一个文件 s = file("test.py")d = file("test_copy.py","wd")d.write(s.read())d.close() 使用shutil拷贝模块 import shutils 阅读全文
posted @ 2017-05-16 16:28 minseo 阅读(332) 评论(0) 推荐(0) 编辑
摘要:PS:打开文件时候加b参数是代表以二进制方式打开,在Linux加不加都可以,在windows上面最好加b参数否则可能会出现问题 使用system返回执行结果不赋值,使用popen返回了结果赋值给cmd_res popen是被废弃的命令了 以上执行shell命令的相关模块和函数功能均在subproce 阅读全文
posted @ 2017-05-16 11:58 minseo 阅读(571) 评论(0) 推荐(0) 编辑
摘要:Json 不同平台(一般是不同的语言)之间进行数据交换 vim day6-1.py 好像没什么区别单引号变成双引号了,json其实是把字典转换成为了字符串 在看以下列子 vim day6-2.py 运行报错,传递必须是字符串或者二进制字符不能是字典 修改代码 运行就会生成文件data_to_qq.t 阅读全文
posted @ 2017-05-15 17:38 minseo 阅读(292) 评论(0) 推荐(0) 编辑
摘要:把之前的配置打个包 zip -r salt.zip * 拷贝到/root/tools目录 博客园文件里面也保留一份,删除之前所有的salt配置文件重新开始 想 1,系统初始化 2,功能模块:设置单独的目录haproxy nginx php mysql memcached 3,业务模块:根据业务类型, 阅读全文
posted @ 2017-05-14 15:22 minseo 阅读(456) 评论(0) 推荐(0) 编辑
摘要:配置管理也叫状态管理 严格意思上讲状态是不可回滚的 参考官方文档 https://www.unixhot.com/docs/saltstack/contents.html 状态模块 https://www.unixhot.com/docs/saltstack/ref/states/all/ Salt 阅读全文
posted @ 2017-05-14 14:40 minseo 阅读(321) 评论(0) 推荐(0) 编辑
摘要:本次安装环境为Ucloud云服务器 1,操作系统版本检查 2,安装ppp,pptp yum install -y ppp rpm -ivh http://static.ucloud.cn/pptpd-1.3.4-2.el6.x86_64.rpm 3,编辑pptp.conf,在最后加入以下两行代码 v 阅读全文
posted @ 2017-05-12 10:40 minseo 阅读(2610) 评论(0) 推荐(0) 编辑
摘要:模块是实现某一个功能所有代码的集合模块有两种存在方式 1,.py文件2,文件夹 Python有两种模块,一种是内置的模块,一种是用户定义的模块4 导入内置模块import sys导入模块的某一个模块from sys import argv 系统默认寻找模块的位置 sys.path 如果导入的是一个文 阅读全文
posted @ 2017-05-11 23:34 minseo 阅读(342) 评论(0) 推荐(0) 编辑
摘要:生成一组数除了前两位是自己定义,后一位数为前两位数相加 vim day5-10.py 执行结果 递归函数的返回 vim day5-11.py 本来想要的返回值是执行到大于1000的数即1597这个数作为返回值 执行返回为None 因为返回的是前一个函数,所以本次执行的函数没有返回值 修改一下代码就能 阅读全文
posted @ 2017-05-11 16:16 minseo 阅读(184) 评论(0) 推荐(0) 编辑
摘要:高阶函数可以把函数作为一个结果值返回 举例说明 普通的求积函数是 vim day5-6.py 运行结果24 如果不需要立即运算而是要在以后的程序中有需要的时候在运算,可以不返回结果而是返回函数 vim day5-7.py 执行结果 可以看出返回是一个函数体没有执行,并且每次运行返回的值是不一样的即使 阅读全文
posted @ 2017-05-11 00:06 minseo 阅读(1759) 评论(0) 推荐(1) 编辑
摘要:sed -i "s/SELINUX=enforcing/SELINUX=disabled/" /etc/selinux/configsetenforce 0yum -y install gcc gcc-c++ make binutilscompat-libstdc++-33 elfutils-lib 阅读全文
posted @ 2017-05-08 17:56 minseo 阅读(686) 评论(0) 推荐(0) 编辑
摘要:Python装饰器,递归,模块 先看一个Python执行过程 >>> def foo(): #定义函数 ... print 'foo' #执行函数打印字符串foo ... >>> foo<function foo at 0x7fd3a06f77d0> #表示foo是一个函数>>> foo() #执行 阅读全文
posted @ 2017-05-08 17:14 minseo 阅读(226) 评论(0) 推荐(0) 编辑
摘要:Saltstack三大功能 1,远程执行 2,配置管理(状态) 3,云管理 四种运行方式: Local 本地 Minion/Master C/S Syndic 代理模式 Salt SSH 安装仓库 yum install https://repo.saltstack.com/yum/redhat/s 阅读全文
posted @ 2017-05-06 10:55 minseo 阅读(990) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示