Nginx

✍ dations ◷ 2025-11-09 15:16:26 #Nginx
Nginx(发音同“engine X”)是异步框架的网页服务器,也可以用作反向代理、负载平衡器和HTTP缓存。该软件由伊戈尔·赛索耶夫创建并于2004年首次公开发布。2011年成立同名公司以提供支持。2019年3月11日,Nginx公司被F5 Networks(英语:F5 Networks)以6.7亿美元收购。Nginx是免费的开源软件,根据类BSD许可证的条款发布。一大部分Web服务器使用Nginx,通常作为负载均衡器。Nginx可以部署在网络上使用FastCGI脚本、SCGI处理程序、WSGI应用服务器或Phusion Passenger模块的动态HTTP内容,并可作为软件负载均衡器。Nginx使用异步事件驱动的方法来处理请求。Nginx的模块化事件驱动架构可以在高负载下提供更可预测的性能。Nginx是一款面向性能设计的HTTP服务器,相较于Apache、lighttpd具有占有内存少,稳定性高等优势。与旧版本(≤ 2.2)的Apache不同,Nginx不采用每客户机一线程的设计模型,而是充分使用异步逻辑从而削减了上下文调度开销,所以并发服务能力更强。整体采用模块化设计,有丰富的模块库和第三方模块库,配置灵活。 在Linux操作系统下,Nginx使用epoll事件模型,得益于此,Nginx在Linux操作系统下效率相当高。同时Nginx在OpenBSD或FreeBSD操作系统上采用类似于epoll的高效事件模型kqueue。根据Netcraft在2016年11月网络服务器调查,Nginx被发现是所有“活跃”站点(被调查站点的18.22%)和百万最繁忙站点(被调查站点的27.83%)中使用次数最多的Web服务器。根据W3Techs的数据,前100万个网站中的37.7%,前10万个网站中的49.7%,以及前10000个网站中的57.0%被使用。据BuiltWith统计,在全球前10000个网站中,有38.2%的网站使用Nginx。维基百科使用Nginx作为其SSL终端代理(英语:SSL termination proxy)。从OpenBSD 5.2版本(2012年11月1日)开始,Nginx成为了OpenBSD基础系统的一部分,提供了替代Apache 1.3系统的替代方案,但是后来被替换为OpenBSD自己的httpd(8)。Nginx在官方测试的结果中,能够支持五万个并行连接,而在实际的运作中,可以支持二万至四万个并行连接。Nginx 的编写有一个明确目标就是超越 Apache Web 服务器的性能。Nginx 提供开箱即用的静态文件,使用的内存比 Apache 少得多,每秒可以处理大约四倍于 Apache 的请求。 在低并发下 Nginx 的性能与 Apache 相当(有时候还低于),但是在高并发下 Nginx 能保持低资源低消耗高性能。Nginx 的优点还包括:高度模块化的设计,模块编写简单,以及配置文件简洁。这种性能提升的代价是降低了灵活性,例如能够以每个文件为基础覆盖系统范围的访问设置( Apache 使用.htaccess 文件来完成这个工作,而 Nginx 并没有内置这样的功能)。以前,向 Nginx 添加第三方模块需要使用静态链接的模块从源代码重新编译应用程序。在版本 1.9.11 中部分地克服了这一点,增加了动态模块加载。但是,模块仍然必须与 Nginx 同时编译,而不是所有的模块都与这个系统兼容——有些需要更老的静态链接过程。相比起在Linux下的Nginx,在Windows Server下的Nginx的稳定性较差。而Apache对两者都有较好的支持。整体采用模块化设计是Nginx的一个重大特点,甚至http服务器核心功能也是一个模块。旧版本的Nginx的模块是静态的,添加和删除模块都要对Nginx进行重新编译,1.9.11以及更新的版本已经支持动态模块加载。截至2017年3月,中国注册域名总数的9.65%使用 Nginx。截至2018年1月,Nginx 服务或者代理了全球 30.46% 的网站。自PHP-5.3.3起,PHP-FPM加入到了PHP核心,编译时加上--enable-fpm即可提供支持。PHP-FPM以守护进程在后台运行,Nginx响应请求后,自行处理静态请求,PHP请求则经过fastcgi_pass交由PHP-FPM处理,处理完毕后返回。Nginx和PHP-FPM的组合,是一种稳定、高效的PHP运行方式,效率要比传统的Apache和mod_php高出不少。PHP-FPM不支持Windows平台,由于没有fastcgi进程管理器管理php-cgi.exe,因此一旦php-cgi.exe崩溃退出,前端将失去响应,这时Nginx会返回“The page you are looking for is temporarily unavailable. Please try again later.”的错误信息。因此在Windows上用Nginx和php-cgi.exe组合来运行PHP的方式并不可靠,稳定性有待提高。

相关

  • 细胞细胞(英语:Cell)旧称䏭,是生物体结构和功能的基本单位。它是除了病毒之外所有具有完整生命力的生物的最小单位,也经常被称为生命的积木(病毒仅由DNA/RNA组成,并由蛋白质和脂肪包裹
  • 在各种酸碱理论中,碱都是指与酸相对的一类物质。碱多指碱金属及碱土金属的氢氧化物,而对碱最常见的定义是根据阿伦尼乌斯(Arrhenius)提出的酸碱离子理论作出的定义:碱是一种在水
  • 蛋白质家族蛋白质家族(英语:Protein family)是一组与进化相关的蛋白质。在许多情况下,蛋白质家族具有相应的基因家族,其中每个基因编码具有1:1关系的相应蛋白质。蛋白质家族术语不应该与"科
  • 布隆伯斯洞穴坐标:34°24′50.77″S 21°13′03.68″E / 34.4141028°S 21.2176889°E / -34.4141028; 21.2176889布隆伯斯洞窟是位于南非开普敦以东约300公里的一个石灰岩溶洞。因发现了
  • 安德烈娅·M·吉兹安德烈娅·米娅·盖兹(英语:Andrea Mia Ghez,1965年6月16日-),美国天文学家,加州大学洛杉矶分校物理学和天文学教授。
  • 七月革命法国七月革命(法语:Révolution de Juillet;英语:July Revolution),是1830年欧洲的革命浪潮的序曲,因为波旁王室的专制统治令经历过法国大革命的法国人民难以忍受,以致法人群起反抗
  • 扩散方程扩散方程是一类偏微分方程,用来描述扩散现象中的物质密度的变化。通常也用来和扩散类似的现象,例如在群体遗传学中等位基因在群体中的扩散。扩散方程通常写作:其中
  • 链式反应链反应(Chain reaction)又称连锁反应,是指反应的产物或副产物又可作为其他反应的原料,从而使反应反复发生。在化学中,链反应通常指光、热、辐射或引发剂作用下,反应中交替产生活性
  • 水豚水豚(学名:Hydrochoerus hydrochaeris)是水豚属下仅存的两种生物之一。它是一种半水栖的食草动物,也是世界上体型最大的啮齿类动物。原产于南美洲智利以外的稀树草原和丛林中。
  • 巴黎和约1763年的巴黎和约是七年战争的交战双方于1763年2月10日在法国巴黎签订的和约,标志着七年战争的结束。条约规定,法国将整个法属加拿大(圣皮埃尔和密克隆群岛除外)、法属路易斯安