本页使用了标题或全文手工转换

nginx

维基百科,自由的百科全书
跳转至: 导航搜索
Nginx
Nginx logo.svg
原作者 伊戈尔·赛索耶夫
开发者 NGINX, Inc.
初始版本 2004年10月4日,​13年前​(2004-10-04
稳定版本
稳定版本
1.12.2 / 2017年10月17日,​2个月前​(2017-10-17
预览版本
1.13.8 / 2017年12月26日,​5天前​(2017-12-26
操作系统 Linux, BSD variants, OS X, Solaris, AIX, HP-UX,*nix Windows
语言 C
类型 网页服务器邮件服务器反向代理服务器
许可协议 类BSD
网站 www.nginx.org
源代码库 http://hg.nginx.org/nginx/、https://github.com/nginx/nginx

Nginx(发音同engine x)是一个 Web服务器,也可以用作反向代理负载平衡器HTTP缓存。该软件由 Igor Sysoev 创建,并于2004年首次公开发布。同名公司成立于2011年,以提供支持。

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

特点[编辑]

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

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

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

可大量平行处理[编辑]

Nginx在官方测试的结果中,能够支持五万个平行连接,而在实际的运作中,可以支持二万至四万个平行链接。

Nginx模块[编辑]

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

数据统计[编辑]

截至2017年三月,中国注册域名总数的9.65%使用 Nginx。(中国网络统计)

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的方式并不可靠,稳定性有待提高。

参考文献[编辑]

另请参阅[编辑]

外部链接[编辑]