Nginx记录用户请求Header到access log

为了统计和其它用途,经常有人需要自定义Nginx日志,把http请求中的某个字段记录到日志中,刚好在看lua+nginx的文章,第一想到的是用lua赋值来做,但是想想有点小恶心,于是Google了一番,发现Nginx自己就能够记录收到的HTTP请求的头部数据,测试如下方法可用。

Continue Reading ...

利用strace做PHP故障排查

Nov 24,2015 strace php

![tools.jpg][1] 收到报警线上运行PHP程序的8核服务器load average达到200多,这个太吓人了。赶紧登录系统运行top,看到好几个php-fpm进程CPU利用率达到100%,看到大多数CPU都消耗在内核态,即sys模式,运行状态良好的程序大多时候应该运行在用户态才对呀。

用strace看看进程内部的系统调用,为了方便重复查看,把输出重定向到临时文件/tmp/php.debug中:

# strace -p <PID> 2> /tmp/php.debug

Continue Reading ...

搭建Flask开发环境并在nginx上使用uwsgi部署

Oct 30,2015 Python Nginx uwsgi flask

本来就想学习一门python的web框架,正好有需求要写个api,半天时间用flask写完接口,功能是从数据库中读取用户id,以json串格式返回。flask入门不难,简单看了文档的第一节就写好这个功能。在Nginx上部署的时候花了些力气,下面记录一下。

Continue Reading ...

CentO6上搭建cowrie蜜罐系统

Oct 24,2015 honeypot 蜜罐 cowrie

CentO6上蜜罐系统cowrie的基本搭建过程

![Honey-Bee][1] 蜜罐是一种安全设备,是网络中的一个安全薄弱设备,诱使攻击者上当,当黑客登录该系统,他在蜜罐中的一举一动都将被记录下来,便于我们了解黑客的攻击手段和策略!cowrie是一款使用python编写的开源蜜罐软件,本文将使用cowrie来搭建蜜罐系统!

Continue Reading ...

2015青岛历险记

Aug 31,2015 青岛 旅行 冒险

八月中旬和同事们去了趟青岛。每次提到青岛这座城市,首先想起来很久很久以前,在填报大学志愿的时候,在青岛和杭州之间纠结了很久,最后还是来到了杭州。有高中好友后来去青岛读书,毕业后又回到武汉!

Continue Reading ...

rpm打包过程浅析

Aug 30,2015 RedHat rpm spec

在解释打包spec文件之前,先说说两种打包常用的方式,以Python为例,CentOS6上默认是Python2.6,但是现在更常用的是Python2.7,为了满足环境要求,好几次在生产环境编译安装Python2.7,烦了之后就想自己打个CentOS6上的rpm包。打包的命令是rpmbuild,先安装rpmbuid:

# yum -y install rpm-build

Continue Reading ...

Linux的kill信号略说

Aug 20,2015

因为需要ping命令的统计输出,也就是Linux上Ctrl+C之后的倒数2行数据,所以要使用Shell模拟键盘的Ctrl+C,最后发现kill -2可以完成做这个事情。顺带看了下Linux的信号机制。记下备查。

signal

Continue Reading ...

自定义OS X共享网络地址池

Aug 05,2015 osx internetsharing

![Yosemite][1]

我自己不用MAC电脑,我用的是elementary OS。这次是有漂亮妹子求救,她的Mac笔记本连不上公司192.168.2.x/24段的服务器,话说Mac我也不是很熟,只能当做Linux来玩了。5分钟大致判断出来,名为bridge100的网卡上有一个192.168.2.1的地址,所以网段冲突,导致连不上服务器。确定这个地址没啥用,于是用下面的命令删掉网卡:

$ sudo ifconfig bridge100 delete

没有异常。

Continue Reading ...

深夜运维思考

Jul 25,2015

晚上睡不着,起来写写文章,最近看书没耐心,囫囵吞枣,心中记下一两个点就很不错了,不敢写技术,就写写最近的一些思考吧。

![thinkings-about-ops][1]

Continue Reading ...

CentOS6上Python升级到2.7版本

Jul 14,2015 Python

系统版本:

CentOS 6.6

默认情况下,CentOS6的Python版本是2.6,但是2.7可能是一个更常用的Python版本,当开发必须使用某些新特性和特性的时候。就可能需要升级Python版本!(做过更恶心的是把RHEL5上的Python2.4升级,满足Django要求)

Continue Reading ...