nginx特点
-
更快
: 在正常情况下,单次请求会得到更快的响应 ; 在高峰期(如有数以万计的并发请求),Nginx 可以比其他 Web 服务器更快地响应请求。 -
高扩展性
: 当对某一个模块修复 Bug 或进行升级时,可以专注于模块自身,无须在意其他。在HTTP
模块中,还设计了HTTP
过滤器模块:一个正常的HTTP
模块在处理完请求后,会有一串HTTP
过滤器模块对请求的结果进行再处理。可以原封不动地复用大量已有的HTTP
过滤器模块。 -
高可靠性
: 高可靠性是Nginx
的最基本条件,很多家高流量网站都在核心服务器上大规模使用Nginx。Nginx 的高可靠性来自于其核心框架代码的优秀设计、模块设计的简单性 ;官方提供的常用模块都非常稳定,每个worker
进程相对独立,master
进程在1个worker
进程出错时可以快速拉起
新的worker 子进程提供服务。 -
低内存消耗
: 一般情况下,10000个非活跃的HTTP Keep-Alive
连接在Nginx中仅消耗2.5MB
的内存。 -
单机支持 10万以上的并发连接
: 一个能够在峰值期顶住 10 万以上并发请求的 Server无疑会得到大家的青睐。理论上,Nginx 支持的并发连接上限取决于内存,10万远未封顶当然,能够及时地处理更多的并发请求,是与业务特点紧密相关的. -
热部署
:master
管理进程与worker
工作进程的分离设计,使得Nginx 能够提供热部署功能,即可以在7X24小时不间断服务的前提下,升级 Nginx 的可执行文件。当然,它也支持不停止服务就更新配置项、更换日志文件等功能。 -
最自由的BSD许可协议
: BSD 许可协议不只是允许用户免费使用 Nginx,它还允许用户在自己的项目中直接使用或修改 Nginx 源码,然后发布。这吸引了无数开发者继续为Nginx贡献自己的智慧。以上7个特点当然不是 Nginx 的全部,拥有无数个官方能模块、第三方功能模块使得Nginx 能够满足绝大部分应用场景,这些能模块间可以叠加以实现更加强大、复杂的功能有些模块还支持 Nginx 与Perl、Lua 等脚本语言集成工作,大大提高了开发效率。这些特点促使用户在寻找一个 Web 服务器时更多考虑 Nginx。
当然,选择 Nginx的核心理由还是它能在支持高并发请求的同时保持高效的服务如果 Web 服务器的业务访问量巨大,就需要保证在数以百万计的请求同时访问服务时用户可以获得良奸的体验,不会出现并发访问量达到一个数字后,新的用户无法获取服务或者虽然成功地建立起了 TCP 连接,但大部分请求却得不到响应的情况。