阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

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

436次阅读
没有评论

共计 2348 个字符,预计需要花费 6 分钟才能阅读完成。

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”就可看到:

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

下面我用 echo 模块和 realtime_request 模块作演示。如果你还不了解这两个模块怎么用,可以先“yum info tengine-echo tengine-realtime_request”一把:

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

    在 YUM 提供的包信息里有模块的基本信息,简单的说明、网址等。

    仓库里的 Tengine  使用 jemalloc 做了内存分配的加速,所以会自动安装 jemalloc。默认支持 LUA,而且使用了 luajit 加速,安装过程也会自动安装 luajit:

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

    我们可以看到默认已经集成了哪些模块“tengine -m。其中 Static 表示静态编译模块,直接打在 Tengine 的二进制里。Shared 则是动态模块,可以动态加载或卸载。

    Tengine 的主配置文件为(/etc/tengine/tengine.conf):

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

    其中的 dso {} 就是用于控制动态模块的,和 PHP 模块类似。我们先看一下(/etc/tengine/conf.d/tengine-standard-dso.ini):

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

这里就是我们已经打包的标准模块,默认随 Tengine 一起安装并启用。我们可以按需使用或卸载。

    安装第三方模块,直接“sudo yum -y install tengine-echo tengine-realtime_request”即可,安装完成后会生成“/usr/lib64/tengine/modules/ngx_http_echo_module.so”和“/usr/lib64/tengine/modules/ngx_http_realtime_request_module.so”动态库文件。为了方便管理,我们将第三方库放里,对应配置文件“/etc/tengine/conf.d/tengine-3rdparty-dso.ini”:

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

 

 

    此时再查看 Tengine 的模块及支持的指令“tengine -l”:

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

    然后我们先验证一下 realtime_request 模块的正确性,添加配置文件(/etc/tengine/vhost.d/realtime_request-demo.conf):

 
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 访问的统计信息:

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

    然后再来验证一下 echo 模块的正确性,配置文件(/etc/tengine/vhost.d/echo.tengine.conf):

 
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 打印的信息了:

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

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

相关阅读

CentOS 6.4 制作 Tengine 的 rpm 包 http://www.linuxidc.com/Linux/2013-12/93786.htm

Tengine 动态开启模块试用 http://www.linuxidc.com/Linux/2012-12/75849.htm

CentOS 6.3 用 ICC 编译 PHP5.4.8+Percona5.5.27+Tengine1.4.1 http://www.linuxidc.com/Linux/2012-12/76636.htm

基于淘宝 Tengine 和 Scribe 的 WEB 日志收集方案 http://www.linuxidc.com/Linux/2012-02/52997.htm

基于 Tengine 部署 LNMP 环境 http://www.linuxidc.com/Linux/2014-01/95148.htm

Tengine 的详细介绍 :请点这里
Tengine 的下载地址 :请点这里

本文永久更新链接地址 :http://www.linuxidc.com/Linux/2015-04/116469.htm

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-20发表,共计2348字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中

星哥玩云

星哥玩云
星哥玩云
分享互联网知识
用户数
4
文章数
19348
评论数
4
阅读量
7811070
文章搜索
热门文章
开发者必备神器:阿里云 Qoder CLI 全面解析与上手指南

开发者必备神器:阿里云 Qoder CLI 全面解析与上手指南

开发者必备神器:阿里云 Qoder CLI 全面解析与上手指南 大家好,我是星哥。之前介绍了腾讯云的 Code...
星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛 NAS-6:抖音视频同步工具,视频下载自动下载保存 前言 各位玩 NAS 的朋友好,我是星哥!...
云服务器部署服务器面板1Panel:小白轻松构建Web服务与面板加固指南

云服务器部署服务器面板1Panel:小白轻松构建Web服务与面板加固指南

云服务器部署服务器面板 1Panel:小白轻松构建 Web 服务与面板加固指南 哈喽,我是星哥,经常有人问我不...
我把用了20年的360安全卫士卸载了

我把用了20年的360安全卫士卸载了

我把用了 20 年的 360 安全卫士卸载了 是的,正如标题你看到的。 原因 偷摸安装自家的软件 莫名其妙安装...
星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛 NAS-3:安装飞牛 NAS 后的很有必要的操作 前言 如果你已经有了飞牛 NAS 系统,之前...
阿里云CDN
阿里云CDN-提高用户访问的响应速度和成功率
随机文章
星哥带你玩飞牛NAS-4:飞牛NAS安装istore旁路由,家庭网络升级的最佳实践

星哥带你玩飞牛NAS-4:飞牛NAS安装istore旁路由,家庭网络升级的最佳实践

星哥带你玩飞牛 NAS-4:飞牛 NAS 安装 istore 旁路由,家庭网络升级的最佳实践 开始 大家好我是...
开发者福利:免费 .frii.site 子域名,一分钟申请即用

开发者福利:免费 .frii.site 子域名,一分钟申请即用

  开发者福利:免费 .frii.site 子域名,一分钟申请即用 前言 在学习 Web 开发、部署...
150元打造低成本NAS小钢炮,捡一块3865U工控板

150元打造低成本NAS小钢炮,捡一块3865U工控板

150 元打造低成本 NAS 小钢炮,捡一块 3865U 工控板 一块二手的熊猫 B3 工控板 3865U,搭...
星哥带你玩飞牛NAS-16:飞牛云NAS换桌面,fndesk图标管理神器上线!

星哥带你玩飞牛NAS-16:飞牛云NAS换桌面,fndesk图标管理神器上线!

  星哥带你玩飞牛 NAS-16:飞牛云 NAS 换桌面,fndesk 图标管理神器上线! 引言 哈...
再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见 zabbix!轻量级自建服务器监控神器在 Linux 的完整部署指南 在日常运维中,服务器监控是绕不开的...

免费图片视频管理工具让灵感库告别混乱

一言一句话
-「
手气不错
星哥带你玩飞牛NAS-8:有了NAS你可以干什么?软件汇总篇

星哥带你玩飞牛NAS-8:有了NAS你可以干什么?软件汇总篇

星哥带你玩飞牛 NAS-8:有了 NAS 你可以干什么?软件汇总篇 前言 哈喽各位玩友!我是是星哥,不少朋友私...
一句话生成拓扑图!AI+Draw.io 封神开源组合,工具让你的效率爆炸

一句话生成拓扑图!AI+Draw.io 封神开源组合,工具让你的效率爆炸

一句话生成拓扑图!AI+Draw.io 封神开源组合,工具让你的效率爆炸 前言 作为天天跟架构图、拓扑图死磕的...
每年0.99刀,拿下你的第一个顶级域名,详细注册使用

每年0.99刀,拿下你的第一个顶级域名,详细注册使用

每年 0.99 刀,拿下你的第一个顶级域名,详细注册使用 前言 作为长期折腾云服务、域名建站的老玩家,星哥一直...
告别Notion焦虑!这款全平台开源加密笔记神器,让你的隐私真正“上锁”

告别Notion焦虑!这款全平台开源加密笔记神器,让你的隐私真正“上锁”

  告别 Notion 焦虑!这款全平台开源加密笔记神器,让你的隐私真正“上锁” 引言 在数字笔记工...
国产开源公众号AI知识库 Agent:突破未认证号限制,一键搞定自动回复,重构运营效率

国产开源公众号AI知识库 Agent:突破未认证号限制,一键搞定自动回复,重构运营效率

国产开源公众号 AI 知识库 Agent:突破未认证号限制,一键搞定自动回复,重构运营效率 大家好,我是星哥,...