Nginx: 開放原始碼的網路伺服器與反向代理伺服器

Nginx(发音同「engine X」)是异步框架的網頁伺服器,也可以用作反向代理、负载平衡器和HTTP缓存。该软件由俄羅斯程式設計師伊戈爾·賽索耶夫开发,并于2004年首次公开发布。2011年成立同名公司以提供支持服务。2019年3月11日,Nginx公司被F5网络公司以6.7億美元收购。

Nginx
Nginx: 特点, 与Apache相比, Nginx模块
原作者伊戈尔·赛索耶夫
開發者NGINX, Inc.
首次发布2004年10月4日,​19年前​(2004-10-04
当前版本
  • 1.26.0 (2024年4月23日;穩定版本)
編輯維基數據鏈接
源代码库hg.nginx.org/nginx
github.com/nginx/nginx
操作系统Linux\BSD variantsOS XSolarisAIXHP-UXWindows以及*nix
语言C
类型網頁伺服器郵件伺服器、反向代理伺服器
许可协议类BSD
网站nginx.org

Nginx是免费的开源软件,根据类BSD许可证的条款发布。一大部分Web服务器使用Nginx,通常作为负载均衡器

特点

Nginx可以部署在网络上使用FastCGI脚本、SCGI处理程序、WSGI应用服务器或Phusion Passenger英语Phusion Passenger模块的动态HTTP内容,并可作为软件负载均衡器

Nginx使用异步事件驱动的方法来处理请求。Nginx的模块化事件驱动架构可以在高负载下提供更可预测的性能。

Nginx是一款面向性能设计的HTTP服务器,相较于Apachelighttpd具有占有内存少,稳定性高等优势。与旧版本(≤2.2)的Apache不同,Nginx不采用每客户机一线程的设计模型,而是充分使用异步逻辑从而削减了上下文调度开销,所以并发服务能力更强。整体采用模块化设计,有丰富的模块库和第三方模块库,配置灵活。在Linux作業系統下,Nginx使用epoll事件模型,得益於此,Nginx在Linux作業系統下效率相當高。同時Nginx在OpenBSD或FreeBSD作業系統上採用類似於epoll的高效事件模型kqueue。

根据Netcraft英语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在官方測試的結果中,能夠支援五萬個并行連接,而在實際的運作中,可以支援二萬至四萬個并行連接。[來源請求]

与Apache相比

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模块

整体采用模块化设计是Nginx的一个重大特点,甚至http服务器核心功能也是一个模块。旧版本的Nginx的模块是静态的,添加和删除模块都要对Nginx进行重新编译,1.9.11以及更新的版本已经支持动态模块加载。[來源請求]

数据统计

截至2017年3月,中国注册域名总数的9.65%使用Nginx。

截至2018年1月,Nginx服务或者代理了全球30.46%的网站。

PHP整合

自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的方式并不可靠,稳定性有待提高。[來源請求]

參考文獻

另请参阅

外部链接

Tags:

Nginx 特点Nginx 与Apache相比Nginx 模块Nginx 数据统计Nginx PHP整合Nginx 參考文獻Nginx 另请参阅Nginx 外部链接NginxF5网络公司HTTP缓存伊戈爾·賽索耶夫反向代理網頁伺服器负载均衡

🔥 Trending searches on Wiki 中文:

P站BLACKPINK二二八事件楊茜堯抓住你的衣领Hyundai黃尚禾AOA謝欣穎河北彩花泰勒·斯威夫特杀人者的购物中心洛杉矶湖人羊宮妃那刘慈欣Roxy崔永元中国中信集团防彈少年團五月天孟加拉国清朝Ubuntu繼承者們王鶴棣Bomis蔣萬安AACS赵紫阳生死时速亚洲羽毛球锦标赛BABYMONSTER2015年莫三比克啤酒中毒事件孔子加茂樱快樂天堂2024年4月8日日食烙印勇士蔡英文華麗計程車行排球少年!!角色列表我是泰灣人李铭顺DAY6陳以文 (導演)越南天道 (台灣電視劇)周庭To Heart古淖文Zi.U載得有情人流金岁月 (中国大陆电视剧)ONE PIECE樂天女孩Moving金賽綸2026年國際足協世界盃以色列—哈馬斯戰爭葉舒華南京大屠殺明成祖Happiness (電視劇)吳慷仁长安诺BOYNEXTDOORGitHub斯里蘭卡Badkiz黃綺琳歡樂頌 (電視劇)韓韶禧青春弒戀赵露思辟邪劍法中国东方航空5735号班机空难愛在大都會🡆 More