随笔分类 - 源码分析
学习开源代码
摘要:1、前言 最近工作需要测试nginx反向代理的性能,于是找了一些http测试工具,例如经典的Apache的ab、siege、wrk。wrk使用多线程事件驱动方式,支持lua脚本扩展。关于wrk介绍可以参考:https://github.com/wg/wrk。测试http的性能,主要关注的是QPS(每
阅读全文
摘要:1、前言 最近在项目中使用到Redis做缓存,方便多个业务进程之间共享数据。由于Redis的数据都存放在内存中,如果没有配置持久化,redis重启后数据就全丢失了,于是需要开启redis的持久化功能,将数据保存到磁盘上,当redis重启后,可以从磁盘中恢复数据。redis提供两种方式进行持久化,一种
阅读全文
摘要:1、前言 linux提供了原始套接字RAW_SOCKET,可以抓取数据链路层的报文。这样可以对报文进行深入分析。今天介绍一下AF_PACKET的用法,分为两种方式。第一种方法是通过套接字,打开指定的网卡,然后使用recvmsg读取,实际过程需要需要将报文从内核区拷贝到用户区。第二种方法是使用pack
阅读全文
摘要:1、前言 最近工作需要对网站的关键字进行检测,找出敏感词。这个过程需要对报文进行收集、解码、检测和记录日志。当前只是简单实现功能,根据关键字进行简单的匹配,而没有进行关键字的语义分析。导致的结果就是JAVA可以匹配AV这个敏感关键字。报文检测这方面,开源项目已经做得非常好了,我所了解的有snort、
阅读全文
摘要:1、前言 zeromq提供了guide,http://zguide.zeromq.org/,可以帮助新手快速上手,提供了C\C++\PHP等多种语言。2、测试程序使用zeromq给的hwserver和hwclient的C语言测试程序。hwserver代码如下: 1 #include ...
阅读全文
摘要:1、前言 MQ(message queue)是消息队列的简称,可在多个线程、内核和主机盒之间弹性伸缩。ZMQ的明确目标是“成为标准网络协议栈的一部分,之后进入Linux内核”。现在还未看到它们的成功。但是,它无疑是极具前景的、并且是人们更加需要的“传统”BSD套接字之上的一 层封装。ZMQ让编写高...
阅读全文
摘要:1、前言 最近学习搭建wordpress,需要用到apahce和mysql。我是下载源代码进行安装的,安装在/url/local目录下,每次开机都需要手动启动,有点麻烦。如是想设置开机启动,从网上查了一下,如何设置,总结一下,方便以后使用。2、设置方法 有两种方法,一种是修改配置文件,一种是通过添加启动项。方法一:根据系统启动的初始化过程,修改配置文件 Centos中的运行模式2、3、5都把/etc/rc.d/rc.local做为初始化脚本中的最后一个,所以用户可以自己在这个文件中添加一些需要在其他初始化工作之后,登录之前执行的命令。关于rc.d的介绍可以参考:http://blog.c...
阅读全文
摘要:1、前言 xml广泛应用于网络数据交换,配置文件、Web服务等等。近段时间项目中做一些配置文件,原来是用ini,现在改用xml。xml相对来说可视性更为直观,很容易看出数据之间的层次关系。关于xml的详细介绍可以参考http://baike.baidu.com/view/159832.htm?fromId=63。本文重点介绍解析xml的libxml2库的安装及使用,举例说明创建和解析xml的过程。2、libxml2的安装 关于libxml2的介绍请参考官方网址http://xmlsoft.org/,下载最新的libxml2库http://xmlsoft.org/downloads.html..
阅读全文
摘要:今天下午捣腾安装mysql和apache。从网上下载mysql5.6.10,http://ishare.iask.sina.com.cn/f/36050990.html,解压后发现没有configure文件,百度一下才知道,不是用configure而是用cmake。参照网址:http://hi.baidu.com/mucunzhishu/item/aa78b3eaa9f518ffe0a5d487http://zhouxuguang.blog.51cto.com/1053090/236292/http://blog.sina.com.cn/s/blog_5d37bf9f0101iuse.ht..
阅读全文