- 博客(55)
- 资源 (1)
- 收藏
- 关注
原创 NGINX配置HTTP HSTS协议
Netcraft 公司最近公布了他们检测SSL/TLS网站的研究,并指出只有仅仅5%的用户正确执行了HTTP严格传输安全HSTS。本文介绍nginx如何配置HSTS。什么是HSTS HTTPS(SSL和TLS)确保用户和网站通讯过程中安全,使攻击者难于拦截、修改和假冒。当用户手动输入域名或http://链接,该网站的第一个请求是未加密的,使用普通的http。最安全的网站立即发送回一个重定向使...
2018-09-04 11:28:26
2765
原创 ngx_lua写的应用防火墙
根据一个网友的代码改写的一个应用防火墙--[[ * waf for goodID * @author yufei * @time 2016-06-08 * 在nginx.conf的HTTP中加入 * lua_shared_dict limit 50m; * lua_shared_dict iplimit 20m; * lua_shared_dict blockiplimit 5...
2018-06-13 17:47:37
527
原创 ngx_lua连接redis
local redis = require("redis")--创建实例 local red = redis:new()--设置超时(毫秒) red:set_timeout(1000)--建立连接 local ip = "127.0.0.1" ngx.say("connect to redis error : ", err) return close_redis(re...
2018-06-13 17:39:32
2914
2
原创 ngx_lua锁功能
突发奇想写了一个类似锁的小玩意auth yufei2017-08-13锁...略...--warting 文件锁local filelock = ngx.shared.filelocklocal req,_=filelock:get(file)--碰到锁就循环,等待,一直到锁释放if req == 1 then while true do ngx...
2018-06-13 17:35:38
2574
2
原创 ngx_lua调用mysql
ngx_lua调用mysql auth yufei2016-07-21ngx_lua调用mysql来源于春哥的开源https://github.com/openresty/lua-resty-mysqlfunction F.check_session() local uid = args["uid"] local session = args["session"] ...
2018-06-13 17:13:42
415
原创 ngx_lua连接gearmand
lua连接geraman并丢任务function F.unzip() local cjson = require "cjson" local datas = {} local reqdata={} local gearman = require "gearman" local gm = gearman:new() datas["...
2018-06-13 17:07:55
250
原创 ngx_lua连接swoole
ngx_lua有时候要和其他端任务交换,例如和php,python等,常见的是gearman,不过php7以上就不支持gearman了,然后引进了swoole或者beastack等,然后就有了下面的代码,把 --通过ngx_lua给swoole传数据 local swoole=require "luaswoole" --需要安装luaswoole.so local cl...
2018-06-13 17:01:36
353
原创 ngx_lua快速读取文件大小和图片宽高属性
我们网站有很多地方需要读取图片的属性于是有了下面的代码和limage.soauth yufei2016-6-5ngx_lua快速获取文件大小和图片属性function F.limage(path,typed) --读取文件大小和图片宽高 reslimage = {} if path then --要先安装https://github.com...
2018-06-13 16:52:57
3707
原创 python写日志
这个是封装了logging的库,直接import后可以方便调用#!/usr/bin/python# -*- coding: UTF-8 -*-'''auth yufei2017-5-30写日志的'''import loggingimport osimport timeLEVELS={'debug':logging.DEBUG,\ 'info':log...
2018-06-12 14:17:25
979
原创 利用python爬虫获取黄金价格
继续练手,根据之前获取汽油价格的方式获取了金价,暂时没钱投资,看看而已#!/usr/bin/env python# -*- coding: utf-8 -*-"""获取每天黄金价格@author: yufei@site: http://www.antuan.com2017-05-11"""import reimport urllib2,urllibimport rand...
2018-06-12 11:42:17
7055
原创 python爬虫爬去汽油价格
利用python爬取每天汽油的价格,一直涨车都开不起了,另外最近加了国际原油期货价格在上面,是WTI的#!/usr/bin/env python# -*- coding: utf-8 -*-"""获取每天汽油价格@author: yufei@site: http://www.goodid.com2017-04-08"""import reimport urllib2,url...
2018-06-12 11:38:47
2401
1
原创 微信聊天机器人
感兴趣写的,web微信机器人,可以聊天和简单的关键词匹配打广告,纯交流,不要去打扰别人哈#!/usr/bin/python# -*- coding: UTF-8 -*-'''auth yufei2018-3-11微信聊天机器人'''from wxpy import *from chatterbot import ChatBotimport random as rdimp...
2018-06-12 11:33:24
1705
原创 利用python探测网站质量
利用python探测网站质量# -*- coding: UTF-8 -*-import psutil#!/usr/bin/python# -*- coding: UTF-8 -*-'''auth yufei2016-6-3服务器web质量探测'''import os,sysimport sysimport timeimport pycurlURL = "http:...
2018-06-12 11:22:04
760
1
原创 python 分析nginx日志(2)
闲着也是闲着,练练手,分析nginx日志http code码短信告知#!/usr/bin/python# -*- coding: UTF-8 -*-'''auth yufei2016-4-3分析nginx日志,计算200以及500等个数,并且短信通知'''import osimport fileinputimport reimport jsonimport urlli...
2018-06-12 11:19:17
923
原创 python分析nginx
闲着的时候写的一个分析nginx日志python脚本练练手,可以统计一些api等信息#!/usr/bin/python# -*- coding: UTF-8 -*-'''auth yufei2016-03-02分析nginx日志,分析出api ip 等访问次数信息'''#!/usr/bin/pythonimport osimport fileinputimport re...
2018-06-12 11:14:35
1182
1
原创 利用python对比一下目录里面文件
有时候会进行文件转移一般都是rsync,但是rsync转移会花费好几个小时,转移期间还是会有新文件上传,而且转移结束后需要改读写的路径到新路径,这样会丢失转移期间的文件,所以写了一个简单的python检查一下,代码如下记得给我宝贵意见:#!/usr/bin/python# -*- coding: UTF-8 -*-'''auth yufei2015-5-10转文件了,转移...
2018-06-12 11:10:34
404
原创 利用python监控memcache用量
memcache有时候会失效,存不了取不了,但是shell进去set a 然后get a又正常,其实是有可能是某个trunk满了memcache里面有很多slab ,slab是固定chunk的size集合,slab之间是1.5倍的关系(可以指定),slab里面有很多page,page是1M的内存,slab申请page后会划分成很多chunk,当-M的内存都被申请了之后,slab的chunk基...
2018-06-12 10:59:38
615
1
原创 nginx map limit_req_zone
map指令使用ngx_http_map_module模块提供的。默认情况下,nginx有加载这个模块,除非人为的 –without-http_map_module。 ngx_http_map_module模块可以创建变量,这些变量的值与另外的变量值相关联。允许分类或者同时映射多个值到多个不同值并储存到一个变量中,map指令用来创建变量,但是仅在变量被接受的时候执行视图映射操作,对于处理没有引用变量
2017-01-24 09:36:43
922
原创 Python运维自动化--nginx配置文件对比
文件差异对比diff.py#!/usr/bin/env python#import difflibimport systry: textfile1=sys.argv[1] textfile2=sys.argv[2]except exception,e: print "Error:"+str(2) print "Usge: difflib.py file1 fi
2016-05-01 20:49:53
1702
2
原创 Python自动化运维--系统基础信息模块
一、系统性能信息模块psutil psutil是一个跨平台库(https://pypi.python.org/pypi/psutil)轻松获取系统运行的进程和系统利用率(包括CPU、内存、磁盘、网络等),能实现ps、top、lso、nice、netstat、ifconfig、who、df、kill、free、ionice、iostat、iotop、uptime、pidof、tty、taskset、
2016-04-25 23:45:34
1611
1
原创 python学习笔记--socket
一、简单实现 service 监听一个端口,等待连接来访问#!/usr/bin/env python#coding=utf-8/* * * Created on: 2016-4-7 * Author: yufei * 服务端socket */ import socketsk = socket.socket()ip_port = ('127.0.0.
2016-04-07 17:33:21
1411
1
原创 图片水印
Nginx location ~* /([0-9a-z\/]+)/(.*).(jpg|jpeg|png|bmp|webp|JPG)_sy(\.|\_)(.*)$ { lua_code_cache off; default_type text/html; root /filesystem/; set $image_root /files
2016-04-07 16:29:32
491
原创 ngx_lua利用nginx内部跳转提高访问效率
lua里面有时候要去请求外面的链接,试过了几种方式,发现这个方式性能最佳 location /set { default_type 'text/html'; proxy_set_header Host test.yufei.com; proxy_connect_timeout 5s; proxy_send_timeout 3s;
2016-04-07 16:21:02
3606
原创 ngx_lua访问数据库
https://github.com/openresty/lua-resty-mysql 张宜春大师写的mysql链接模块function F.check_session() local uid = args[“uid”] local session = args[“session”] local mysql = require “mysql”if uid == ni
2016-04-07 16:10:13
1628
原创 No space left on device
问题 早上准备转移文件,想装个rsync来同步文件,结果发现创建用户创建不了,提示空间不足No space left on device 空间不足,那第一反应是查看分区使用量 df -h查看 查看磁盘都是空的, 按理说不会出现这种情况的。难道inode耗尽? 分析 查看分区的inode使用情况相关信息 df -i 确实是var的inode满了,所以创建用户的时候要创建用户的
2016-03-23 09:53:38
1276
原创 Python学习笔记--异常处理
什么是异常? 异常即是一个事件,该事件会在程序执行过程中发生,影响了程序的正常执行。 一般情况下,在Python无法正常处理程序时就会发生一个异常。 异常是Python对象,表示一个错误。 当Python脚本发生异常时我们需要捕获处理它,否则程序会终止执行。 异常名称 描述Python标准异常BaseException 所有异常的基类SystemExit 解释器请求退出Ke
2016-03-22 10:01:50
519
原创 Python学习笔记--类和对象
Python是解释性语言,但是它是面向对象的,能够进行对象编程 我们通过描述属性(特征)和行为来描述一个对象的。比如家里的小狗,它的颜色,大小,年龄,体重等是它的属性或特征。它会汪汪叫,会摇尾巴等是它的行为。 我们在描述一个真实对象(物体)时包括两个方面: 它可以做什么(行为) 它是什么样的(属性或特征)。在python中,一个对象的特征也称为属性(attribute)。它所具有的行为也称为
2016-03-18 17:30:27
389
原创 Python学习笔记--装饰器
第一步:最简单的函数,准备附加额外功能# -*- coding:gbk -*-'''示例1: 最简单的函数,表示调用了两次'''def myfunc(): print("myfunc() called.")myfunc()myfunc()第二步:使用装饰函数在函数执行前和执行后分别附加额外功能# -*- coding:gbk -*-'''示例2: 替换函数(装饰)装饰函数的参数是被装
2016-03-18 15:52:25
366
1
原创 Python学习笔记--模块
模块,用一砣代码实现了某个功能的代码集合。 类似于函数式编程和面向过程编程,函数式编程则完成一个功能,其他代码用来调用即可,提供了代码的重用性和代码间的耦合。而对于一个复杂的功能来,可能需要多个函数才能完成(函数又可以在不同的.py文件中),n个 .py 文件组成的代码集合就称为模块。 如:os 是系统相关的模块;file是文件操作相关的模块 模块分为三种: 自定义模块 内置模块
2016-03-18 15:26:09
267
1
原创 python学习笔记--文件操作
内置函数>center(width) 将字符串居中,并使用空格填充至长度with的新字符串count(sub[,start[,end]]) 返回sub在字符里面出现的次数,start和end参数表示范围,可选encode(encoding='utf-8',errors='strict') 以encoding指定的编码格式对字符串进行编码 endswith(s
2016-03-18 15:06:01
393
原创 python学习笔记--入门
Python简介python的创始人为吉多·范罗苏姆(Guido van Rossum)。1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为ABC语言的一种继承。 最新的TIOBE排行榜,Python赶超PHP占据第五!!! 由上图可见,Python整体呈上升趋势,反映出Python应用越来越广泛并且也逐渐得到业内的认可!!! Python可
2016-03-18 14:39:31
361
1
原创 mysql开启慢查询
mysql5.6以前的版本 众所周知,大访问量的情况下,可添加节点或改变架构可有效的缓解数据库压力,不过一切的原点,都是从单台mysql开始的。下面总结一些使用过或者研究过的经验,从配置以及调节索引的方面入手,对mysql进行一些优化。 第一步应该做的就是排查问题,找出瓶颈,所以,先从日志入手 开启慢查询日志mysql> show variables like "%slow%"; 查看慢查询配
2016-03-15 17:57:30
272
原创 my.cnf
1, 查看MySQL服务器配置信息 mysql> show variables;2, 查看MySQL服务器运行的各种状态值 mysql> show global status;3, 连接数 mysql> show variables like 'max_connections'; show processlist;4, 慢查询查看 mysql> sho
2016-03-15 17:56:04
664
原创 nginx中的if嵌套
nginx的配置中不支持if条件的逻辑与&& 逻辑或|| 运算 ,而且不支持if的嵌套语法,否则会报下面的错误:nginx: [emerg] invalid condition。 我们可以用变量的方式来间接实现。 要实现的语句:if ($arg_unitid = 42012 && $uri ~/thumb/){echo "www.yufei.com";}如果按照这样来配置,就会报nginx
2016-03-15 17:46:30
8496
原创 ngx_lua实现重启php
nginx location /reload { default_type text/html; content_by_lua_file reload_php.lua; }lualocal args = ngx.req.get_query_args();local uid = args["uid"]local
2016-03-15 17:44:16
891
原创 ngx_lua尝试做ip库
根据地区进行跳转 server {location / { lua_code_cache off; charset utf-8; rewrite_by_lua ' local ip = ngx.var.remote_addr local cjson = require "cjson.
2016-03-15 17:39:58
1339
原创 linux批量远程控制
前提:勉ssh秘钥登陆使用pdssh 1、配置主机列表 web.list root@192.168.1.2:22 root@192.168.1.3.182:22 root@192.168.1.4.181:22 file.list root@192.168.1.26:22 root@192.168.1.27:22
2016-03-15 17:33:09
1326
原创 cacti安装笔记
下载rrdtool http://oss.oetiker.ch/rrdtool/pub/?M=Dcacti http://www.cacti.net/download_cacti.php安装cd rrdtool-1.4.9ntpdate 114.113.157.84./configure --prefix=/usr/local/webserver/rrdtoolyum insta
2016-03-15 17:30:34
377
原创 增加swap分区
1.可以查看下分区的大小 #cat /proc/swaps 或者free 2.通过dd创建文件 #dd if=/dev/zero of=/data/swap bs=1024k count=2048 (2G) dd用于复制,从if读出,写到of。if=/dev/zero不产生IO,因此可以用来测试纯写速度。同理of=/dev/null不产生IO,可以用
2016-03-15 17:26:39
266
原创 gif动态图片取静态帧
瞎掰的,请大神提出意见location ~* ([0-9a-z\/]+)/([0-9a-z]+).(a|gif)_([0-9]+)x([0-9]+)(.*)$ { #default_type text/html; root /data/thumbnail/; set $image_root /data/filesystem; set
2016-03-15 17:25:42
1182
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人