Tengine动态模块加载的使用方法,tengine动态


    Tengine是由淘宝网发起的Web服务器项目。基于Nginx针对大访问量网站的需求,添加了很多高级功能和特性,目前已开源。Tengine完全兼容Nginx,轻松无缝切换!本文主要介绍它的“动态模块加载(DSO)”的基本使用方法。

    什么是“动态模块加载”呢?打个简单的比:

     默认Nginx没有echo功能,传统情况下,我们会下载echo模块,然后重新编译Nginx后再使用新编译的Nginx。如果需要用的模块很多,那么有两个情况:要么有很多Nginx的版本,不同版本带有不同功能,还有各种模块的排列组合;要么就有一种万能的Nginx,什么模块都有(好比OpenResty)。

    有没一种方法,即灵活又无需那么臃肿呢?答案就是“动态模块加载”了。(类似Windows的动态链接库,DLL文件。在Linux下后缀一般是SO)

    如果你只安装了Tengine,那么你只能用它的基础功能。如果你需要echo模块,你只需要继续安装Tengine-echo,稍作配置就能使用echo模块。无需重新编译Tengine,而且各种模块随心组合。

    Tengine默认编译安装就支持DSO功能,除非指定了配置“--without-dso”选项。目前我们的软件仓库里已经集成了一些常用的Tengine模块。使用“yum search tengine”就可看到:

realtime_zonesize 16m; server { listen 9081 backlog=8192; server_name realtime.request.demo; charset utf-8; location / { realtime_request on; access_log off; log_not_found off; } }

    访问对应页面即可看到各个vhost访问的统计信息:

server { listen 9082 default_server; server_name echo.tengine.org; charset utf-8; location / { echo "hello, world!"; access_log off; log_not_found off; } }

    打开对应页面即可看到echo打印的信息了:

image

    是不是非常灵活、好用呢?

相关内容

    暂无相关文章