Nginx 第三方模块-漫谈缘起

Nginx支持的第三方模块概览 Nginx支持的第三方模块丰富多样,为Nginx的强大功能和扩展性提供了有力保障。通过选择合适的第三方模块并合理配置Nginx服务器,可以实现诸如安全性增强、性能优化和特定功能扩展等多种目标。随着Nginx的不断发展和社区的不断壮大,相信未来会有更多优秀的第三方模块涌现出来为Nginx注入新的活力。 阅读详情

来自:http://www.cnblogs.com/yjf512/archive/2012/03/30/2424726.html 

本文的部分内容和图片摘录于http://tengine.taobao.org/download/nginx@taobao.pdf

为什么要使用nginx模块?我个人觉得taobao这个ppt来做说明是最好不过了

从web服务器结构开始说起:

 

第一个模式(LAMP):

clip_image001

这个结构中,Apache的PHP模块将所有动态网页都使用php解析,所有逻辑结构都放在php中进行处理。

这个结构也是现在最多web网站的架构LAMP(Linux+Apache+PHP+Mysql)

 

Apache的强劲的市场占有率(12月全球市场份额报告)也说明了这个结构的好处是易于理解,开发上手快。存在就是理由,Apache的各种功能模块已经实现很多了,基本上能想到的功能都已经实现了。

 

但是这个结构有其致命的弱点:

1 高并发下性能表现不佳

2 页面主体内容(比如)图片等静态资源访问浪费带宽(当然这个后来大公司都改用CDN来处理)

3 存在慢连接攻击(syn flood)风险

 

模式演变:

clip_image002

 

关于Apache和Nginx的优缺点的讨论请看这里

Apache2.4刚刚发布,宣称it’s “as fast, and even faster than Nginx”.

这里有一个blog对进行了测试实验。

 

第二种模式(LNMP):

clip_image003

Nginx是个轻量级的HTTP server,必须借助第三方的FastCGI处理器才可以对PHP进行解析。现在使用最多的就是nginx+php-fpm+php这个模式了。

 

这里Apache被nginx取代,随之带来的解决优势是:

1 提高并发服务能力

2 可以抵御慢连接攻击

相对于上一个模型,还有其他的优点:

3 静态内容(css,js,pic)等放到CDN上,避免了带宽浪费

4 php对于这些大数据量的数据的处理骤减,减少了php的计算量

 

但是这个模式最大的问题就在于:Php+php-fpm对于nginx本身性能的限制。

nginx本身的极限测试:单机支持200万连接以上(据说,未验证),而php+php-fpm+nginx大概是3万以上。(参考张宴的博客)。当然这个性能已经远远满足了绝大部分的网站。但对于一些超大规模的项目(比如taobao)就必须考虑高并发的性能问题了。

 

好了,现在考虑,为什么一定要使用php呢,nginx是否能完成逻辑呢?

 

模式演变:

clip_image004

从nginx聊开(nginx中文维基):

nginx是轻量级web服务器,它代码不多(v0.5.32才8w多行代码)。Nginx本身做的工作实际很少,当它接到一个HTTP请求时,它仅仅是通过查找配置文件将此次请求映射到一个location block,而此location中所配置的各个指令则会启动不同的模块去完成工作,因此模块可以看做Nginx真正的劳动工作者。

nginx中的模块都是使用C语言编写的。nginx中模块分为Handler,filter和upstream三种类型。

 

第三种模型:

clip_image005

这种模型彻底放弃了php,逻辑不再依赖php脚本了,直接使用nginx的扩展来完成,这就意味着不需要开启n个fastcgi,不需要使用php进行逻辑操作了,高并发的php的限制也消失了。

 

初次看到这个模型会产生几个问题:

1 nginx如何高效访问Mysql数据库呢?

使用ngx_drizzle模块(国人编写)

 

2 要实现越来越多的nginx模块,发现c语言开发效率太低了,是否有其他脚本引擎呢?

使用lua脚本,ngx_lua模块(taobao两位大神的杰作)

 

在nginx_at_taobao的ppt上说taobao在2010年已经在开发大量的nginx模块了,并且在2011年推出了自己的web服务器Tengine(可以看做是nginx的super版本)(看来taobao在web服务器方面是非常强啊!!)

 

这第三种模型是taobao大力推荐和正在使用的:

使用lua脚本(巴西人发明的一种语言,相当高效简易)写nginx扩展

nginx直接连接数据库

将静态资源放到cdn上

保证高并发下的效率的提升

 

nginx的第三方模块http://wiki.nginx.org/3rdPartyModules

 

  • ----------------------

    作者:yjf512(轩脉刃)

    出处:http://www.cnblogs.com/yjf512/

    本文版权归yjf512和cnBlog共有,欢迎转载,但未经作者同意必须保留此段声明

Creative Commons License

本文基于署名-非商业性使用 3.0许可协议发布,欢迎转载,演绎,但是必须保留本文的署名叶剑峰(包含链接http://www.cnblogs.com/yjf512/),且不得用于商业目的。如您有任何疑问或者授权方面的协商,请与我联系。

 

【Qt】使用QMediaPlayer播放视频 window平台可以安装K-Lite,linux平台一般各发行版都会默认安装GSteam。播放RTSP视频时,可以使用VLC播放器搭建一个视频推流服务器,用于拉流的客户端的调试。3、如果没有添加Qt环境变量,请把关联的Qt5MultimediaWidgets.dll和Qt5Multimedia.dll放到进程路径下否则也会报ServiceMissingError错误。2、需要安装解码器,否则报 ServiceMissingError 无法找到服务的错误。1、需要在.pro工程文件中引用对应模块。 阅读详情

相关推荐

工业以太网通讯Profinet协议详解

Profinet是通过西门子控制系统被广泛使用的工业通信协议,是一种较新的,基于以太网的工业通讯协议。

mydatai的专栏 8850

Nginx——Nginx第三方模块配置

Nginx有众多可用的第三方模块,让nginx实现更多功能的扩展。

庄小焱 877

无人驾驶汽车系统入门(三十二)——FEC算法:点云快速欧几里得聚类实战解析

本文深入解析了FEC算法在无人驾驶点云聚类中的高效应用,通过逐点处理策略和体素栅格预分割技术,实现了比传统欧几里得聚类快百倍的速度。文章详细介绍了算法原理、Python实现及参数调优指南,并对比了FEC与传统算法的性能差异,为无人驾驶系统开发提供了实用解决方案。

weixin_29065015的博客 485

扩展Nginx的无限可能:掌握常见扩展模块和第三方插件的使用方法

Nginx是一款高性能的开源Web服务器和反向代理服务器。它具有模块化的架构,可以通过扩展模块和插件来增强其功能。在本文中,我将围绕Nginx的扩展模块和插件进行讲解,并提供一些常见的扩展模块和第三方插件的示例。

xuxian的博客 4186

【阿里云大模型高级工程师ACP习题集】2.4 自动化评测答疑机器人的表现(⭐️⭐️⭐️ 重点章节!!!)

【摘要】这是我精心整理出对应的习题集,里面足足有 30 道题目,从基础概念到深度拓展,全方位覆盖章节重点、难点。不管你是想检验自己的学习成果,还是想针对薄弱环节进行强化训练,它都能完美适配!

davidkorhenn的博客 2477

ComfyUI 的 LoRA 训练:素材打标签与调优全攻略

标签是 LoRA 训练的"地基"——地基打不牢,后续调参再精细也难出好效果。记住:标签要"少而精",聚焦独特点,用触发词控效果。下一篇我们将讲解参数设置,让你的优质标签发挥最大价值~

2301_78150483的博客 3097

nginx 安装第三方模块

nginx -V 查看安装的配置,将配置复制,然后加上--add-module=/etc/nginx/modules/echo。2.获取nginx的压缩包(查看自己的nginx版本,下载相对应的版本)获取版本: nginx -v。

m0_64544724的博客 487

真正的工业级环形缓冲区(Circular Buffer)完整实现细节

永远不要永远不要ToArray()或AddRange()永远返回或两段Span永远用_head_tail% Capacity实现环形照着上面这套代码改,你的系统将彻底告别内存爆炸,从“实验室玩具”变成“产线战神”!需要我给你一个支持两段绘制的完整实现吗?

专注于前沿技术的探索与实践,热衷于从代码逻辑、架构设计到行业应用等多维度深挖技术本质。期待在技术之路上与你共同成长~ 127

一、nginx安装第三方模块[apt安装、源码安装]

ubuntunginx一般都需要重新编译。

黑日里不灭的light 5037

华为OD机试双机位C卷-魔法收积木 (C/C++/Py/Java/Js/Go)

华为OD机试(机考)双机位C卷 【魔法收积木】,提供C语言、Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解,以及在线OJ模拟做题。华为od - 魔法收积木。

qq_45776114的博客 1939

用 SAP-ABAP-1 把 ABAP 代码读懂:从 Generative AI Hub Orchestration 到 Joule 落地的实战指南

SAP-ABAP-1 是 SAP 推出的 ABAP 专用基础模型,专注于代码解释与理解。它能显著降低企业遗留系统的维护成本,帮助开发人员快速掌握复杂业务逻辑。该模型通过 SAP Generative AI hub 托管,支持 128,000 tokens 的上下文长度,适合分析大型 ABAP 类和 CDS 视图。典型应用场景包括代码解释、迁移辅助和云合规检查。调用需通过 Orchestration service 进行,确保企业级安全治理。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 1211

缘起 --转

其实这两年为 Nginx 世界做了这么多的事情,一直想通过一系列教程性的文章把我的那些工作成果和所学所知都介绍给更多的朋友。现在终于下决心在新浪博客http://blog.sina.com.cn/openresty上面用中文写点东西,每一篇东西都会有一个小主题,但次序和组织上就不那么讲究了,毕竟并不是一本完整的图书,或许未来我会将之整理出书也不一定。 我现在编写的教程是按所谓的“系...

SurpassLi的专栏 43

YOLOv8交通监控全方案:精准车辆计数+违章(闯红灯/压线)识别,拿来就落地!

作为深耕计算机视觉落地的开发者,我见过太多交通监控的“伪智能”——传统系统要么车辆计数不准(漏计/重复计数),要么违章识别滞后(靠人工回看录像),甚至连“闯红灯、压线”这类常见违章都无法实时判定,完全满足不了实际交通管理需求。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 646

Nginx 教程

agentzh 的 Nginx 教程(版本 2015.03.19) 目录 缘起Nginx 教程的连载计划Nginx 变量漫谈(一)Nginx 变量漫谈(二)Nginx 变量漫谈(三)Nginx 变量漫谈(四)Nginx 变量漫谈(五)Nginx 变量漫谈(六)Nginx 变量漫谈(七)Nginx 变量漫谈(八)Nginx 配置指令的执行顺序(一)Nginx 配置指令的执行顺序(二)Ngin

黄沙百战穿金甲,不破楼兰终不还。 1907

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

nginx模块开发的有用链接

http://www.cnblogs.com/yjf512/archive/2012/03/30/2424726.html

tomvstom的专栏 995

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

了解一下 Nginx, 原来淘宝有这么多大神级程序员

Nginx 第三方模块-漫谈缘起 2012-03-30 10:10 by 轩脉刃, 6585 阅读, 1 评论, 收藏, 编辑 本文的部分内容和图片摘录于http://tengine.taobao.org/download/nginx@taobao.pdf 为什么要使用nginx模块?我个人觉得taobao这个ppt来做说明是最好不过了 从web服务器结构开始说起:   第一个

ljh081231的专栏 1万+

Nginx

Nginx 第三方模块-漫谈缘起2012-03-30 10:10 by 轩脉刃,6585阅读,1评论,收藏,编辑本文的部分内容和图片摘录于http://tengine.taobao.org/download/nginx@taobao.pdf为什么要使用nginx模块?我个人觉得taobao这个ppt来做说明是最好不过了从web服务器结构开始说起:第一个模式(LA...

weixin_34346099的博客 100

agentzh 的 Nginx 教程(版本 2016.07.21)

目录缘起Nginx 教程的连载计划Nginx 变量漫谈(一)Nginx 变量漫谈(二)Nginx 变量漫谈(三)Nginx 变量漫谈(四)Nginx 变量漫谈(五)Nginx 变量漫谈(六)Nginx 变量漫谈(七)Nginx 变量漫谈(八)Nginx 配置指令的执行顺序(一)Nginx 配置指令的执行顺序(二)Nginx 配置指令的执行顺序(三)Nginx 配置指令的执行顺序(四)Nginx 配...

huangyimo的专栏 684
上一篇: 浅谈SQL Server中的快照
下一篇: 那些年,我总结的MVC
ArvinStudy
博客等级 码龄15年 83粉丝 193原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值