首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 服务器 > Apache >

Apache module传记

2012-12-22 
Apache module杂记可以基于正则表达式修改文本内容的Apache module:mod_sed:实现了类似sed功能的module,可

Apache module杂记
可以基于正则表达式修改文本内容的Apache module:
mod_sed:实现了类似sed功能的module,可以通过正则表达式修改文本内容。apache2.3中加入了这个module,但是这个module也可以用于apache 2.0版本。可以到http://src.opensolaris.org/source/xref/webstack/mod_sed/下载源代码,README里有相应的编译命令:/http安装路径/bin/apxs -i -c mod_sed.c regexp.c sed0.c sed1.c

mod_substitute:功能和mod_sed类似,默认加入到apache2.2中http://httpd.apache.org/docs/2.2/mod/mod_substitute.html

mod_line_edit:也可以基于正则表达式替换文本内容,可以就该html/css/javascript。但是它和前两者不同的是mod_line_edit的to-pattern可以使用Apache的环境变量http://apache.webthing.com/mod_line_edit/,这个功能正是我最近需要的。
例如下面的配置可以在<head>标签后插入一个<meta/>标签并且可以将环境变量UNIQUE_ID的值添加到meta的属性中去(UNIQUE_ID环境变量需要mod_unique_id的支持http://lamp.linux.gov.cn/Apache/ApacheMenu/mod/mod_unique_id.html)



mod_proxy_html:可以基于html标签进行比较比较精细的内容修改操作http://apache.webthing.com/mod_proxy_html/

以上这些module都是基于apache的过滤器的功能来完成对相应内容的修改(类似servlet里的filter)http://lamp.linux.gov.cn/Apache/ApacheMenu/filter.html


mod_line_edit使用经验:
1.mod_line_edit的性能问题:考虑到系统中有500-700K的html页面,因此我就对mod_line_edit在展现1M的静态html做了一下压力测试。测试结果非常不理想,在不添加mod_line_edit时TPS在500+,加上mod_line_edit后tps只有1(狂汗...)。
2.mod_line_edit的代码分析:
return ap_pass_brigade(f->next, bb) ;
将流传递给下一个filter即可。


热点排行