百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术资源 > 正文

F5 NGINX 核心人员倾力打造,搞懂 NGINX 这一本就够了

off999 2025-02-06 16:04 25 浏览 0 评论

Nginx 因其轻量化支持高并发等特性,在国内大量企业广泛的使用。作为全球 Web 服务器的领导者,它备受业界瞩目,目前正以蓬勃之势迅速发展,并将以无可替代之势称霸未来。它因优异的性能和强大的可维护性受到了广大应用开发者的喜爱,也给企业带来了巨大的商业价值。


NGINX 的由来:C10K 问题


NGINX 最初是为解决著名的 C10K 问题而设计的。NGINX 能有效地提高单台 Web 服务器响应并发请求的能力,与传统的 Apache 相比,在内存使用量和每秒处理的并发请求数方面都有巨大的改进。


究其根本,Apache 会为每个请求分别创建新进程,而 NGINX 采用异步非阻塞的事件驱动机制,并在内存数据复制方面做了优化。NGINX 与 Apache 在高并发情况下的内存使用量如下图:



可以看出,随着并发连接数的增加,NGINX 的内存使用量并没有明显变大,NGINX 只使用不到 Apache 十分之一的内存就可以处理和它相同的并发连接数。


另外,随着并发连接数的增加,NGINX 每秒处理的请求数虽然有所减少,但仍为 Apache 每秒处理的请求数的数倍,如下图:



NGINX 市场占有率持续攀升


2021 年 1 月的 Netcraft Web 服务器市场占有率分析报告显示,NGINX 的市场占有率已经超过了Apache 和 Microsoft,位居第一


1995 年 8 月以来的 Web 服务器市场占有率变化在线活跃服务器中,NGINX 的使用率排在第三位,且持续攀升




NGINX的优良特性和功能


NGINX 作为 Web 服务器,被大量高负荷网站(腾讯、新浪、网易、淘宝等)广泛使用,具备 Apache、Lighttpd、Tomcat 等服务器不具备的优良特性:


  • 高并发。能够处理高并发请求是 NGINX 最显著的特点。NGINX 由 C 语言编写,采用事件驱动模式,异步非阻塞地处理海量并发请求。worker 进程默认亲和到不同的 CPU 核上,避免了不同进程抢占 CPU 资源的问题和调度带来的开销。NGINX 还针对不同的操作系统做了不同的优化,比如在选择事件队列时,Darwin 系统选择 kqueue,Linux 系统选择 epoll,Windows 系统选择 select。


  • 高稳定性。模块化的架构使 NGINX 各部分的功能完全解耦,master 进程和worker 进程一对多的方式分开了控制层面和数据层面,确保在 worker 进程发生异常时能够及时发现并纠正,也给它的热升级提供了可能性。另外,NGINX 没有采用多线程的方式来实现 worker 进程,使得各个 worker 进程相对独立。


  • 高扩展性。NGINX 以模块为单位组织相应的配置解析和功能实现,做到了模块内高内聚,模块间低耦合。一些常用的数据结构(如链表、队列、红黑树)都做了有效的封装,供开发者使用。


NGINX 的应用场景广泛核心功能如下:


  • 反向代理。相比正向代理,反向代理运行于服务器端,代表服务器端接收来自客户端的请求,并将后端服务器给出的响应返回给客户端。反向代理运转稳定,配置灵活,对七层(HTTP)和四层(TCP/UDP)均可提供代理。NGINX 的反向代理功能通常会和其他核心功能联用,比如跟负载均衡功能联用,可以实现带权重的请求转发,以及限流和灰度发布。


  • 负载均衡。当今互联网环境日益复杂,单台服务器的处理能力已经不能满足高并发环境下的响应要求,因此我们需要使用负载均衡的方式,水平扩展出多台服务器均摊处理并发的请求。NGINX 提供了针对 HTTP、TCP 和 UDP 的负载均衡,以及多种内置策略(如轮询、加权轮询、IP 和 cookie hash 等),让用户能够根据自己业务的流量特点,按照特定的规则分流来自前端的请求。NGINX 还给予了用户扩展策略的能力,用户可以添加新的 NGINX 模块来定制策略。有些客户端的请求是无状态的,有些是包含状态的,即长连接,NGINX 提供了共享内存映射机制和 hash、IP hash 等策略来实现会话亲和性。NGINX 的负载均衡同时也包含检查上游服务器状态的能力


  • 静态缓存。据统计,Web 应答流量中有超过一半的数据是静态资源,我们可以使用静态缓存把这些资源缓存下来。NGINX 的静态缓存功能有效减少了服务器在计算和传输静态资源时产生的性能消耗,配以 gzip 功能还可以减少网络带宽的消耗。静态资源包括动态页面中的静态部分、静态页面和资源文件等。


  • Web 服务器。Web 服务器是 NGINX 的基础功能。用户可以使用 server 配置块定义自己的 Web 服务器,如监听 IP 端口、协议类型、SSL 及网络传输行为;使用 location 配置块定义 URL 及请求发生时的响应逻辑。NGINX Unit 是 NGINX 商业版提供的轻量级动态服务器方案,其中集成了多种主流语言(如 Python、PHP、Go、JavaScript、Ruby、Java 等)的运行时环境,可以独立运行于宿主机或者容器中。


  • 安全和访问控制。NGINX 提供了丰富的安全和访问控制功能,这些功能中有些是通过 NGINX 核心模块实现的,有些是通过第三方模块实现的。NGINX 商业版对这些功能做了进一步增强。以下是常见的安全和访问控制场景
  • a.SSL 卸载/加载:实现对四层、七层服务器流量的 SSL 加解密。
  • b.HTTP 认证访问控制:实现对前端请求 JWT 或 Basic Auth 的认证方式。
  • c.针对特定资源的访问控制:针对资源的类型或者访问者地址做控制。
  • d.动态黑白名单:针对客户端 IP 或 keyval 模块实现基于 IP 的访问控制。



NGNIX 开发看这一本就够了

《NGNIX经典教程》

F5 NGINX核心人员倾力打造

关注基础、用法和现代场景


林静,刘旭峰,章澍,

廖健雄,宗兆伟,邹俊 | 著



本书分为 5 个部分,共 32 章:


第一部分为基础入门篇,介绍 NGINX 的基础配置、运行机制与原理;

第二部分为开源功能篇,剖析 NGINX 开源软件的功能模块,讲述各个模块的功能集合;

第三部分为应用场景篇,通过特定的场景展现 NGINX 的能力及配置方法,站在使用者的角度阐述 NGINX 的复杂应用场景及注意事项;

第四部分为商业软件篇,介绍 NGINX 商业版模块的增强能力;

最后是 NJS 开发篇,使用NJS 脚本化的方式扩展 NGINX 的能力。


本书思维导图



读者对象


软件开发工程师;运维工程师;系统工程师;软件架构师;DevOps人员


作者简介


林静,F5 软件架构师,应用交付领域专家,开源爱好者,NGINX 布道师,拥有TOGAF 9、CKA 等认证。


刘旭峰,F5 中国区金融行业技术总监,先后任职于 IBM、F5 等公司,专注于数据中心架构、金融科技应用、开源软件技术、IaaS/PaaS 等领域。


章澍,F5 中国区高级销售总监,领导过不同的行业销售团队,见证了各行业 IT 建设和发展的不同阶段,深度了解客户在 NGINX 使用中的技能痛点和需求。


廖健雄,F5 NGINX 专家,在金融科技、开源软负载、业务高并发等领域具备丰富的架构规划、产品研发经验。


宗兆伟,F5 资深软件研发工程师,涉及的技术领域包括数据存储、云原生生态、DevOps 领域,深入理解云生态中的各种技术。


邹俊,先后供职于 CA、EMC、Pivotal、F5 等公司,积累了丰富的容器云平台相关经验,主要关注微服务、APIM、Kubernetes 等行业技术的发展


大咖推荐


应用流量技术复杂,企业掌握和使用负载均衡器、服务网关面临着很大的挑战。NGINX提供了一个高性能、易使用、安全可靠的开源平台,为企业现代化应用提供了坚实的保障。本书提供了丰富的NGINX实践案例,是一本干货满满的参考书,可以帮助用户更好地理解与使用NGINX。

——刘博,中国农业银行研发中心技术平台工程师

本书的重点立足于实际应用场景,通过NGINX在各个不同场景的部署与配置方式,完整地梳理了一个大型企业在多云架构、微服务、复杂的访问调度等场景下以及面对新技术挑战时的解决方案,对于读者和用户都是非常实用的解决思路指引与解决方案参考。


——曾炜,中国工商银行软件开发中心高级技术经理,网络与安全专家

NGINX自诞生至今已经十几年了,一直处于活跃开发状态,其新版本持续增加强大的功能,满足云计算、微服务等各种场景下的技术应用需求。市面上的图书或侧重NGINX源码的解析,或侧重NGINX原理及配置的介绍,但站在使用者视角对NGINX复杂应用场景的解读和指导性资料相对稀少。本书的一大亮点是,作者通过特定的场景展现NGINX的能力及配置方法,涵盖了Web服务器、反向代理、DevOps、API、Kubernetes、NJS开发、安全等当前NGINX的各种使用场景,注重实战,对使用NGINX的开发工程师、软件架构师、运维工程师均具有重要的参考价值。

——王丽丽,中信银行架构师,开源治理专家

NGINX在我身边的工作环境中,正逐渐变得无处不在。对于处在数字化转型过程中的银行业而言,NGINX的高并发处理能力与丰富灵活的功能特性,使得它成为数据中心世界里非常重要的一个组成部分。细读一下这本书的目录,你会发现原来通过NGINX还可以做更多的事情,而不需要追加IT投资去进行重复建设。

——王钢,江苏银行科技部总经理助理



学习NGINX,一键拥有


相关推荐

下载软件的app大全(下载软件的app大全免费)

中国最常见的目前是迅雷下载软件。官网可以下载到正常的免费版本。他支持ftphttpbt磁力链接等多种形式的下载。国外的有bitcome。电驴和电骡等多种形式的下载软件。他们都可以满足日常的下载要求,...

wifi贴小程序搭建需要多少钱

回答如下:要搭建自己的WiFi小程序,需要以下步骤:1.获得开发资格:首先需要注册成为开发者,获得小程序的开发资格。2.编写代码:使用微信小程序的开发工具,编写WiFi小程序的前端和后端代码。3....

外网服务器地址(外网服务器地址ip大全)

要弄懂这个问题,你首先要了解什么叫内网,什么叫外网,什么叫服务器,服务器在网络中所扮演的是什么角色,内网:就是指内部网络,窄义上的内网就是指中小型的局域网外网:就是指在你办公网络之外能访问到的网络...

360卸载不了的软件怎么办(用360卸载软件卸载不了)

开启了自我保护,关闭即可。解决方法如下:准备材料:360安全卫士、电脑1、在电脑上打开安全卫士,进去之后,点击右上方的列表图标,选择设置,2、进去安全卫士设置界面之后,点击安全防护中心,3、进去安全防...

联想电脑u盘启动不了(联想电脑为什么u盘启动不了)
联想电脑u盘启动不了(联想电脑为什么u盘启动不了)

1,启动计算机,并按住DEL键不放,但是也有按其它键的,所以请根据提示,直到出现BIOS设置窗口。2,键盘方向键向右移动到BIOS"Startup"菜单,然后选择“CMS”按回车键,然后选择"CMS"里面的Enabled。3,在对上面的操作...

2026-01-03 02:03 off999

海马苹果助手官方下载(海马苹果助手官方正版)

除了官方版,苹果其他服务器互通吧好像,只是不能换服务器登录你好;根据你的提示,可能是你的手机系统不正常蚂蚁浏览器,你可以现在一个手机QQ浏览器,它的体积小,功能强大,还特别的节省流量,它使用自主研发的...

wifi恢复出厂设置后上不了网

恢复出厂设置后,路由器的网络设置也被清空了,需要重新设置账号和密码等信息并配置网络。还需要确认路由器的网线连接是否正确,以及是否有其他网络设备干扰。 如果重新配置还是连不上网不能用,可能需要...

联想笔记本蓝屏怎么解决(联想笔记本蓝屏怎么解决方法)

回答如下:如果您的联想笔记本电脑出现蓝屏问题,可以尝试以下解决方法:1.重启电脑:尝试简单的重启电脑,看是否可以解决问题。2.检查硬件:检查您的笔记本电脑是否有硬件故障。例如,您可以拔下所有外接设...

微星显卡型号档次梯队(微星显卡大全)

2019年微星新出的显卡主要系列划分:VENTUS(万图师):入门级版本,也有人说是丐版,用料一般。ARMOR(装甲师):中低版本,做工用料主流,比丐版强一点。DUKE(暗黑龙爵):中等版本,做工用料...

腾达扩展器a12设置(腾达扩展器设置方法)

1、检查扩展器的WiFi是否正确无线扩展器连接的是上端的WiFi,然后再转发出新的WiFi。所以,必须要知道正确的上端WiFi信息,比如WiFi名称和密码。解决方法:用手机连接上端WiFi,登录到这个...

手机文件彻底删除如何恢复(手机里文件删了怎么恢复)
  • 手机文件彻底删除如何恢复(手机里文件删了怎么恢复)
  • 手机文件彻底删除如何恢复(手机里文件删了怎么恢复)
  • 手机文件彻底删除如何恢复(手机里文件删了怎么恢复)
  • 手机文件彻底删除如何恢复(手机里文件删了怎么恢复)
win7 旗舰版32位密钥(win7旗舰版密钥32位激活不了)

可以win7旗舰版32位产品密钥:1、TG664-TJ7YK-2VY3K-4YFY6-BCXF4;2、MVG64-RQDVY-KB9RM-MX9WT-MW824;3、TDTY2-6HJ49-46PCK...

win7下安装ghostxp(win7安装方法ghost)

在win7家庭版电脑中安装虚拟xp系统方法:1.首先安装windows6.1-kb958559-x86-refreshpkg补丁。2.安装完成后,需要重启电脑。3.重启电脑,再安装windowsxpm...

电脑怎么锁屏快捷键(暂时离开电脑怎么锁屏快捷键)

计算机锁屏的快捷键在不同的操作系统上可能会有所不同,但在Windows系统中通常是“Windows键+L”组合键。当您按下这个组合键时,计算机会立即锁定屏幕,需要输入密码才能解锁。这个快捷键可以方便地...

microsoft+teams+meeting怎么加入会议

teams手机点击加入会议没有反应原因和解决方法如下:1.时区不对,把电脑屏幕右下角时区调整好即可进入TeamsPC版。2.会议主办方的问题。3.MicrosoftTeams客户端的大多数问题都...

取消回复欢迎 发表评论: