1、Nginx 简介 Nginx 是俄罗斯人撰写的10分轻量级的 HTTP 服务器,Nginx,它的发音为“engine X”,是1个高特性的 HTTP 和反方向代理商服务器,另外也是1个 IMAP/POP3/SMTP 代理商服务器。 Nginx 由于它的平稳性、丰富多彩的控制模块库、灵便的配备和低系统软件資源的耗费而出名.业界1致觉得它是 Apache2.2+mod_proxy_balancer 的轻量级替代者,不但是由于回应静态数据网页页面的速率十分快,并且它的控制模块数量做到 Apache 的近 2/3。对 proxy 和 rewrite 控制模块的适用很完全,还适用 mod_fcgi、ssl、vhosts ,合适用来做 mongrel clusters 的前端开发 HTTP 回应。 现阶段 Nginx 在中国许多大中型公司都有运用,且普及率呈逐年升高发展趋势。挑选 Nginx 的理由也很简易: 第1,它能够适用 5W 分布式系统联接; 第2,运行内存耗费少; 第3,成本费低。 Nginx 在构架中充分发挥的功效: 1.网关 ---朝向顾客的总通道。 2.虚似主机 ---1台设备为不一样的网站域名/ip/端口号出示服务 3.路由器 ---应用反方向代理商,整合后续服务为1个详细业务流程 4.静态数据服务器 ---mvvm 方式中,用来公布前端开发 html/css/js/img 5.负载群集 ---应用 upstream,负载好几个 tomcat 2、Nginx特性 与别的web服务器相比,Nginx特性: 1、速率快 nginx应用预读、联接池、运行内存池等技术性,使得单次HTTP恳求速率更快。 2、拓展性好 Nginx的构造是“关键+控制模块”的构造,Nginx自身便是1个Epool或Kqueue的恶性事件解决和派发构架,后边会讲到控制模块专业知识。 3、高靠谱性 Nginx的关键由1个每日任务很轻的管理方法过程(master过程)和若干工作中过程(worker过程)构成。实际的HTTP恳求在工作中过程内负载平衡,假如某个工作中过程出现异常停止了,管理方法过程会快速重新启动1个新的工作中过程代替该过程。 4、低运行内存占有 1般状况下,10000个非活跃HTTP保活联接仅占有2.5MB运行内存。ngx_lua每拓展10000个联接也仅占2.xMB运行内存。 5、分布式系统工作能力 布署在万级以上的场所下。 Nginx全多线程、非堵塞I/O的观念贯彻在关键、控制模块和ngx_lua 控制模块中,不管是自身完成的控制模块,還是根据lua完成的脚本制作编码,全是非堵塞的高速运作。 6、热布署 因为Nginx的管理方法过程和工作中过程是分设立计的,因此可以完成热布署作用。也便是系统软件不中断的状况下升級可实行程序流程,升级配备文档,升级系统日志。 7、开源系统 3、Nginx 构架设计方案 高宽比控制模块化的设计方案是 Nginx 的构架基本。Nginx 服务器被溶解为好几个控制模块,每一个控制模块便是 1个作用控制模块,只负责本身的作用,控制模块之间严苛遵照“高内聚,低藕合”的标准。 Nginx 控制模块图 1.关键控制模块 关键控制模块是 Nginx 服务器一切正常运作必不能少的控制模块,出示不正确系统日志纪录、配备文档分析、恶性事件驱动器体制、过程管理方法等关键作用。 2.规范 HTTP 控制模块 规范 HTTP 控制模块出示 HTTP 协议书分析有关的作用,如:端口号配备、网页页面编号设定、HTTP回应头设定等。 3.可选 HTTP 控制模块 可选 HTTP 控制模块关键用于拓展规范的 HTTP 作用,让 Nginx 能解决1些独特的服务,如:Flash 多新闻媒体传送、分析 GeoIP 恳求、SSL 适用等。 4.电子邮件服务控制模块 电子邮件服务控制模块关键用于适用 Nginx 的电子邮件服务,包含对 POP3 协议书、IMAP 协议书和SMTP 协议书的适用。 5.第3方控制模块 第3方控制模块是以便拓展 Nginx服务器运用,进行开发设计者自定作用,如:Json 适用、Lua适用等。 (责任编辑:admin) |