熟悉Nginx,为Nginx编写插件(三)

前两篇文章看了后相信可以写出五花八门的有用的Nginx插件了。我写的都是一些基本的流程,Nginx提供的函数可以很直观地从函数名上表现出来,所以也没过多的说明。这一章说说Nginx的配置,主要是配置模块命令的参数,顺便提一下HTTP的参数处理。 本文链接 这次实现一个提供命令 “pw” 的模块,这个命令需要一个参数: 模块命令调用的参数在这个command的set函数被内核调用的时候可以取得,即是内核传过来的ngx_conf_t变量里可以取得,cf->args->elts是一个参数字符串数组。 这时取到的参数我们可以存起来,也可以根据参数的不同指定不同的处理函数,本文的例子是用的第二种方式。

熟悉Nginx,为Nginx编写插件(二)

前面介绍了Nginx,现在准备为它写一个名叫“helloworld”的插件,它提供helloworld命令。 前面提到过,Nginx的插件可以提供命令,命令在插件里本身是关联到一个处理函数的,这个处理函数直接处理request,并把结果返回到链表里。可以在配置文件里配置什么时候执行插件的相关命令,这样就可以调度插件了。 本文地址:http://www.hoverlees.com/blog/?p=352 按上面和前一篇文章提的,我们可以加一个location叫/helloworld,如下: 这样用户访问/helloworld的时候,就可以执行我们的模块了。 但是还不能急,一般模块都会涉及到一些数据结构,像PHP的模块,需要模块结构,函数表结构等,类似的,Nginx的模块也需要模块结构,模块结构又相关到命令结构和上下文结构。思路都是差不多的。

熟悉Nginx,为Nginx编写插件(一)

最近打算写几篇关于Nginx插件开发的文章。 有人肯定要问我,怎么老是喜欢写插件,一会儿是php的,一会儿是apache的,现在又是Nginx的了。这怎么说呢,其实为linux写应用程序,可以理解成为linux写插件,就算你要写操作系统,同样也可以称之为“为CPU写插件”。为某个东西写插件,还不如说是要更加深入地了解这个东西呢。Nginx本身小巧,研究它其实都可以对整个代码扫通了,我们从中一定能学到人家的长处。 这次连载计划写成,第一篇,内核简介 第二篇,hello world 第三篇,模块配置 第四篇,一个实例。 当然,本文结尾处我也要推荐一篇国外高手写的文章,其实我很想把它翻译成中文,但这要等有时间的时候才能做,忙啊~~~ 本文原地址:http://www.hoverlees.com/blog/?p=322 Nginx是近两年才出来的高性能WebServer服务器,俄罗斯人开发,在我印象里,俄罗斯人搞的软件很牛X,他们在破解软件上也很牛X,唯一的缺点,就是语言的通用性不够牛X,不够大众… Nginx特性: Nginx非常快,非常省资源,网上有大量的Nginx性能测试数据,这儿就不多说了。还有一个开源的WebServer叫Cherokee,自称比Nginx更强劲的,不过这个没做太多研究。 Nginx直接集成反向代理功能,为大型的web应用提供负载均衡的保证。 Nginx本身非常小,整个Server其实就一个2M多的执行程序加上配置文件。 Nginx配置非常直观,配置就跟写脚本一样。 Nginx依赖的PCRE库,在文本处理上具有很强的功能,虽然Nginx本身主要是拿来做重定向的,但正则表达式在文本处理应用中的重要性和普遍性,相信所有做过Web的人都认同。 Nginx又依赖了OpenSSL库,数据安全方面又有保障,可以拿来做CS/BS架构应用项目的服务器(只需为Ngnix写插件而不用自己去实现网络协议),如OA系统,当下流行的网页游戏服务器,SNS游戏等。 Nginx的模块不像其它应用的扩展那样,是动态链接的,Nginx的模块是跟它的源代码一起直接编译到执行文件中,当然如果想让它可以动态链接外部库,只需要为Nginx写一个不是很难的模块即可实现。 Nginx主要的类型和常量定义在/src/core目录下的多个头文件中,对于这样小巧的工程,这些头文件定义的东西都值得去了解。

推荐歌曲 what did i do – Nikki

我发现现在又流行唱分手方面的歌曲了,这样同样能产生听众的共呜。 I such have had enough I’ve packed up all my stuff I’m waiting for the cab in the hallway And I have nothing to explain I’m Naked in the rain Like every part of me is on this day Try to act like everything’s oke…no way! What did I do? You said I’ve screwed […]

展示网络拓扑的Flash应用程序

我现在的工作主要是研发网络监控系统,其中涉及到很多的技术,包括网络管理、各种操作系统、虚拟化、以及各种大型网络应用的监控上,其中涉及到很多的相关技术,主要包括C语言,PHP等,对于网络拓扑的展示,我让咱的Flash技术派上了大用场。 作为公司的产品,就不能随便上传Flash了,发几张图来纪念一下。这算是我做过的比较大型的Flash应用之一了。

网页横向Tab效果实现

最近在做一个PHP的MVC,需要用一个横向tab效果,然后就写了个,希望有人用得着… Tab效果实现的方法很多,每个人都可能会有自己的实现方式,既然是万国牌,再写写我的方法也无妨,相信这种做法的人也会很多。 这种tab分为左右两块,左边是tab,右边是内容,由于选中的tab把右边框架的边框盖住了,所以会给人一种整体的效果。 已测试浏览器:IE6,IE8,ff,chrome,opera.

Linux下解压Mac OS的PKG文件

今天又看到了自己以前解压pkg时写的shell脚本,觉得还是挺有用的,记下来免得自己忘了。呵呵 需要用到的相关软件包,包括xtar和gzip。可以用下面的命令从网络上下载: 首先用xtar解压pkg文件,解压后的文件使用gz压缩,这时需要gz解开,最后得到的数据档案包就是能被cpio所接受的档案包。解压命令如下: 先用xtar解压pkg文件,把生成的文件改成gz后缀的文件名,再用gunzip解压,解压后的输出文件输入给cpio提取所有文件。

[flash]做了这么个播放器。。。

想想,有时候博客里需要链接一点音乐,然后就做了这么个mp3播放器。开始想做成通用型的界面,后来又觉得做成留声机样子的比较有意思,但是留声机太难画,最后就决定做成磁带的了。。。的确太老土了,哈哈。 特点是可以“进带”和“倒带”,磁带就应该有这样的风格嘛,不过,停止键还是做成直接回到前面了,有一点不连惯的感觉,但是总不能说音乐放完了还想听一次就得倒回去那么麻烦吧! 以后要推荐些音乐什么的就靠它了,先就来一首吧,这是一首游戏音乐,来自《Chrono Trigger》,SFC游戏的神作,音乐超棒,这首背景音乐名叫《Time Circuits》,很天籁的音乐!

Merry Christmas eve.

圣诞节快乐,圣诞节到了新年就快了~~ 又是一年圣诞来了,不过圣诞节我也没啥特别的事,日子照平常一样过。 以前的圣诞节还会做些flash啊什么的贺卡传达给朋友们,现在也没时间去做了。 记得刚上大学的前两年每年都会做个flash,当时最然做得很普通,但是这个精神却是很可嘉的!那时候在学校机房,系统用的都是windows 98或者windows 2000,经常是做到很大程度的时候电脑死机,然后重启后所有文件消失。。。就在这样的艰苦环境下产生了flash贺卡。。。 看完后不禁觉得以前好幼稚,会startDrag和duplicateMovieclip这种简单的,还老做星星,呵呵… 既然今年什么都没有,就把以前的flash发两张图来吧。 先是2006年的: