Nginx记录用户请求Header到access log
为了统计和其它用途,经常有人需要自定义Nginx日志,把http请求中的某个字段记录到日志中,刚好在看lua+nginx的文章,第一想到的是用lua赋值来做,但是想想有点小恶心,于是Google了一番,发现Nginx自己就能够记录收到的HTTP请求的头部数据,测试如下方法可用。
利用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
搭建Flask开发环境并在nginx上使用uwsgi部署
本来就想学习一门python的web框架,正好有需求要写个api,半天时间用flask写完接口,功能是从数据库中读取用户id,以json串格式返回。flask入门不难,简单看了文档的第一节就写好这个功能。在Nginx上部署的时候花了些力气,下面记录一下。
CentO6上搭建cowrie蜜罐系统
CentO6上蜜罐系统cowrie的基本搭建过程
![Honey-Bee][1] 蜜罐是一种安全设备,是网络中的一个安全薄弱设备,诱使攻击者上当,当黑客登录该系统,他在蜜罐中的一举一动都将被记录下来,便于我们了解黑客的攻击手段和策略!cowrie是一款使用python编写的开源蜜罐软件,本文将使用cowrie来搭建蜜罐系统!
2015青岛历险记
八月中旬和同事们去了趟青岛。每次提到青岛这座城市,首先想起来很久很久以前,在填报大学志愿的时候,在青岛和杭州之间纠结了很久,最后还是来到了杭州。有高中好友后来去青岛读书,毕业后又回到武汉!
rpm打包过程浅析
在解释打包spec文件之前,先说说两种打包常用的方式,以Python为例,CentOS6上默认是Python2.6,但是现在更常用的是Python2.7,为了满足环境要求,好几次在生产环境编译安装Python2.7,烦了之后就想自己打个CentOS6上的rpm包。打包的命令是rpmbuild,先安装rpmbuid:
# yum -y install rpm-build
Linux的kill信号略说
因为需要ping命令的统计输出,也就是Linux上Ctrl+C之后的倒数2行数据,所以要使用Shell模拟键盘的Ctrl+C,最后发现kill -2可以完成做这个事情。顺带看了下Linux的信号机制。记下备查。
自定义OS X共享网络地址池
我自己不用MAC电脑,我用的是elementary OS。这次是有漂亮妹子求救,她的Mac笔记本连不上公司192.168.2.x/24段的服务器,话说Mac我也不是很熟,只能当做Linux来玩了。5分钟大致判断出来,名为bridge100的网卡上有一个192.168.2.1的地址,所以网段冲突,导致连不上服务器。确定这个地址没啥用,于是用下面的命令删掉网卡:
$ sudo ifconfig bridge100 delete
没有异常。
深夜运维思考
CentOS6上Python升级到2.7版本
系统版本:
CentOS 6.6
默认情况下,CentOS6的Python版本是2.6,但是2.7可能是一个更常用的Python版本,当开发必须使用某些新特性和特性的时候。就可能需要升级Python版本!(做过更恶心的是把RHEL5上的Python2.4升级,满足Django要求)