Openresty和Tengine基于 Nginx 的两个衍生版本,某种意义上他们都和淘宝有关系,前者是前淘宝工程师agentzh主导开发的,后者是淘宝的一个开源项目;

Openresty的最大特点是引入了ngx_lua模块,支持使用lua开发插件;

Tengine的特点是融入了因淘宝自身的一些业务带来的新功能;

Tengine 简介

tengine官方网站:http://tengine.taobao.org/index_cn.html

在 Nginx官方版本的基础上增加的一些定制模块如下:

1、支持动态加载模块:通过加载so文件实现,不用再重新编译整个项目了,配置如下:

dso {load ngx_http_lua_module.so;load ngx_http_memcached_module.so;
}

2、ngx_proc_daytime_module模块,这个模块允许开一个独立的服务进程,该模块本身并未实现具体的业务逻辑,而是构建了一个TCP Server框架,等待开发者来实现自己的业务;

3、ngx_http_concat_module模块,用于合并多个文件的响应;

4、ngx_http_upstream_session_sticky_module模块,该模块是一个负载均衡模块,通过cookie实现客户端与后端服务器的会话保持, 在一定条件下可以保证同一个客户端访问的都是同一个后端服务器。

5、ngx_http_upstream_check_module模块,用于检查upstream上游服务器的健康状况,如下是一个配置的例子:

upstream cluster1 {# simple round-robinserver 192.168.0.1:80;server 192.168.0.2:80;check interval=3000 rise=2 fall=5 timeout=1000 type=http;check_http_send "HEAD / HTTP/1.0\r\n\r\n";check_http_expect_alive http_2xx http_3xx;}

6、trim filter模块,用于删除 html,内嵌 javascript 和 css 中的注释以及重复的空白符,例如:

location / {trim on;trim_js on;trim_css on;
}

7、ngx_http_headers_module模块,支持根据Content-Type来设置过期时间,例如:

expires_by_types       24h text/html;expires_by_types       modified +24h text/xml;expires_by_types       @15h30m text/xml;expires_by_types       0 text/xml;expires_by_types       -1 text/xml;expires_by_types       epoch text/xml;

8、ngx_http_limit_req_module模块,限制访问

9、扩展了ngx_http_log_module模块,支持syslog和pipe;

转载于:https://www.cnblogs.com/xiaoleiel/p/8295800.html

Openresty 与 Tengine相关推荐

  1. 国产最强开源 API 网关,没有之一,不接受任何反驳!

    以下文章来源方志朋的博客,回复"666"获面试宝典 " 这篇文章由刚哥授权分享,刚哥是 Splunk Information Technology 的架构师,Linked ...

  2. 悠悠二十载,Nginx创始人Igor宣布离职

    2002年春季,Igor Sysoev迈上了Nginx的开发之旅.面对互联网的早期飞速发展,他希望提出一种更好的网络流量处理方式--这将是一种新颖的架构,能够让高流量网站更从容地处理数万个并发连接,并 ...

  3. 2021年8月Web服务器排行榜:Nginx牛市上升

    自2019年4月全球Web服务器排名 nginx首度登顶后,这回再次准备冲顶. 在2021年8月的调查中,NETCRAFT收到了来自1,211,444,849个站点的回复,这些站点涉及263,733, ...

  4. nginx documentation | Development guide

    Table of Contents nginx documentation Development guide Nginx distributions ▪️ OpenResty   ▪️ The Te ...

  5. Httpclient gzip 乱码问题解决

    ■出现问题的原因推测 被反爬了,缺少了cookie,你请求出来的信息就是运行一段js, 生成cookie,看到args1了么,这个是密钥,下面的也不是编码的,就是js混淆的问题 防爬网站需要携带一些基 ...

  6. 「Nginx实战」中学到的东西用在面试上,面试官都被怼得哑口无言

    Nginx到底是什么? Nginx是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务.Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的http://Rambl ...

  7. Open Source

    资源来源于http://www.cnblogs.com/Leo_wl/category/246424.html RabbitMQ 安装与使用 摘要: RabbitMQ 安装与使用 前言 吃多了拉就是队 ...

  8. 国产最强开源 API 网关

    强烈推荐大家试试国产开源的 API 网关 https://github.com/apache/apisix,非常不错. 快速入门的文章,可以看看艿艿之前写的 https://www.iocoder.c ...

  9. nginx的安装(亲测)

    先安装虚拟机,和cnetos7mini版本 虚拟机的安装省略,可以参考前面: 注意:centos7之前是ipconfig查看网络,7以后就变成ip addr 本地的网卡:IO,虚拟出来的网卡是eno1 ...

  10. Do Svidaniya,向 NGINX 创始人 Igor 致敬

    原文作者:Rob Whiteley, F5 NGINX 事业部总经理 原文链接:Do Svidaniya,向 NGINX 创始人 Igor 致敬 - NGINX 转载来源:NGINX官方网站 我们满怀 ...

最新文章

  1. linux亲和性,两种亲和性
  2. SQL基础操作_2_操作多个表
  3. 并发编程中常见的锁机制:乐观锁、悲观锁、CAS、自旋锁、互斥锁、读写锁
  4. 奔跑吧linux内核_别了,Linux 的魔法时代!
  5. java 面试 概率论_编程培训-115个Java面试题和答案B.pdf
  6. 深入剖析.NETCORE中CORS(跨站资源共享)
  7. AWS的VPC使用经验(一)
  8. 2020年最新程序员职业发展路线指南,超详细!
  9. 喜欢独自喝茶的人是什么样的人
  10. day1 java基础回顾- 文件路径
  11. python下载网易云音乐付费歌曲有哪些_Python3批量下载网易云音乐热歌榜
  12. [Fondar]手机屏幕驱动板HDMI接口USB触摸使用步骤
  13. win10资源管理器打开缓慢,自动搜索
  14. iOS性能优化系列篇之“优化总体原则”
  15. 计算机炫酷功能,【实用】上班族必备!10个实用电脑炫酷小技巧~
  16. iis服务器版本信息泄漏,IIS短文件和文件夹泄漏漏洞
  17. 从数字0~99999中,数字“8”一共出现了多少次
  18. CentOS 7 ping不通提示“Name or service not kown“的解决办法
  19. onClick事件的三种写法
  20. Java新生代垃圾收集器

热门文章

  1. Eclipse配Tomcat服务器
  2. 自动拼图android github,GitHub - zero0011/Puzzle: 拼图游戏 , 可自动实现 拼图操作
  3. Redo Log的逻辑与物理结构
  4. Spark内存空间分配机制
  5. 了解一个新技术和技术点的时候需要了解的事情
  6. SQLserver nText和varchar 不兼容
  7. 巴基斯坦削减光伏发电上网电价或影响清洁能源发展前景
  8. eclipse导入maven项目时报Could not calculate build plan: Plugin org.apache.maven.plugins:maven-resources...
  9. performSelector:withObject:afterDelay: 的用法
  10. 个人网络安全从业心得