nginx源码解析(4)-深入http模块

ngx_http_init_request()入手,可以很容易分析http模块的处理流程。从http请求头开始解析,根据http版本走不同流程,处理请求头各个字段,直到ngx_http_core_run_phases()nginx http

nginx源码解析(3)-从事件处理到业务处理

了解了nginx的模块化结构和进程关系之后,可以知道在worker进程的主循环里面,nginx实际上在循环处理一个个IO事件,那么具体的业务处理模块是怎么挂接进这个框架呢?

nginx源码解析(2)-进程管理

nginx中进程有这几种类型:

#define NGX_PROCESS_SINGLE     0          //单进程
#define NGX_PROCESS_MASTER     1          //多进程中的主进程
#define NGX_PROCESS_SIGNALLER  2          //重启、刷新等管理进程
#define NGX_PROCESS_WORKER     3          //多进程中的工作进程
#define NGX_PROCESS_HELPER     4          //cache管理进程

nginx源码解析(1)-模块化设计

nginx所有功能都实现模块化,包括核心功能和基础设施,例如core模块和errorlog模块,一般软件都会设计成一个核心代码和共用库,而在nginx中却是一个模块。模块的加载、卸载目前不支持运行时动态调整,需要在编译阶段通过configure自动进行,用户扩展的模块代码放到addon目录下会被自动搜索、配置。

如何编译XEN虚拟机内核(三)

编译内核相关的资源列表: Xen-4.0说明书:Xen 4.0 release notes Xen版本库:http://xenbits.xen.org/xen-4.0-testing.hg?tags dom0内核资源列表:http://wiki.xen.org/xenwiki/XenDom0Kernels

wordpress数据银行上传插件

dbank是一个网盘,作为一个有理想的网盘,他开放了部分接口,可以供第三方开发应用。dbank有发布文件外链的功能,利用这个功能我们可以把下载流量分流给网盘,节省虚拟主机或VPS的流量。。。可以搞一个下载站了。 安装这个插件之后,wordpress的编辑文章界面中,会出现一个dbank的图标: dbank-uploader-button

python网络编程框架twisted学习笔记(3)-生产者与消费者

twisted提供了生产者与消费者系统(producer and consumer),用于处理大流量网络数据流。当你的程序需要产生大量数据同时通过网络输出,或者做类似proxy的功能是,就八成需要用到这个东东了。twisted提供的api封装了很多细节,用起来挺方便的,但要搞清楚还要费一番周折。producer的说明文档在这里:http://twistedmatrix.com/documents/current/core/howto/producers.html,有够简洁的。

python网络编程框架twisted学习笔记(2)

接上篇,我们来看看怎么分别用defer和reactor来实现同样的http客户端。 这个是官方文档给的例子,使用了defer:

python网络编程框架twisted学习笔记(1)

研究了一周的twisted,终于基本搞懂了怎么用twisted写代码完成想做的功能。写正文之前,先抱怨一下python的文档比php差多了,也难怪python一直被人认为是小众语言,php的api说明页面有很多人贡献的例程,看这些例程能够很容易学会php的一些技巧,而docs.python除了函数说明,就没什么例子,实在让人诟病。twisted的文档尤甚,例子不是没有,就是太简单,学习曲线怎么能不陡呢。 网络上的教程介绍: 1. Twisted入门 -- finger 的演化:这个教程是官方入门教程的中文版,不过有点老,例程就不要用这个版本的了,直接去这里拷贝比较靠谱。基本上总体写的挺不错,把twisted的精华都展现出来了,给我的感觉就是很高深。特别是后面的组件结构,设计很精妙,但我看了两天还是没理解怎么用,汗。所以,如果初学建议就精读前面4章,后面的粗略看看就行了。

联想商用机双显示器攻略

话说从前看了google等大公司的工作环境,每次看到人家桌面上摆两个显示器都心里痒痒的,于是每天琢磨着给自己也搞两个显示器。在网上逛啊逛,总结出了几种方案: 1。 单显卡双输出 2。 集成显卡+独立显卡 研究了一下我的办公用机,没有AGP接口,集成显卡只有一个VGA输出,上述两种方案都不行,除非去买一个老的PCI或PCI-E显卡。