Nginx 之 Nginx概念介绍
1概述Nginx (engine x)分为开源和商业版,是单进程响应用户的并发请求,没有线程的概念,特点是有很多模块组成的。处理静态页面时http的10倍效率,可以实现30000的并发进程,http一般是只能达到10000的并发。二次开发版本有Tengine和 OpenResty,官网是http://nginx.org
本文将介绍nginx的特性,功能和相关模块2概念介绍
2.1nginx架构图
nginx的程序是master/worker结构.一个master进程:负载加载和分析配置文件、管理worker进程、平滑升级.一个或多个worker进程:处理并响应用户请求.缓存相关的进程:cache loader:载入缓存对象cache manager:管理缓存对象架构图如下2.2nginx特性
.模块化设计,较好的扩展性.高可靠性.支持热部署:不停机更新配置文件,升级版本,更换日志文件.低内存消耗:10000个keep-alive连接模式下的非活动连接,仅需要2.5M内存.支持event-driven,aio,mmap,sendfile 2.3nginx功能 2.3.1基本功能:.静态资源的高性能web服务器,处理html,图片,js,css,txt等静态资源. tcp/udp协议反向代理服务器:实现三个功能,一、负载均衡,相当于调度器,转发数据到后端服务器,实现LVS一样的功能,二、客户端没有直接接触服务器,更加安全。三、缓存,可以加速访问。. IMAP/POP3/SMTP协议反向代理服务器. 通用的TCP/ UDP代理服务器. 结合FastCGI/uWSGI/SCGI等协议反向代理动态资源请求.模块化(非DSO),如zip,SSL模块2.3.2nginx web服务相关的功能1)虚拟主机(server)2)支持keep-alive和管道连接3)访问日志(支持基于日志缓冲提高其性能)4)url rewirte5)路径别名6)基于IP及用户的访问控制7)支持速率限制及并发数限制8)Memcached的GET 接口9)重新配置和在线升级而无须中断客户的工作进程,比如升级过程,旧的主进程会被关掉,同时开启一个新版本的主进程。但是,旧的子进程不受影响,会继续处理旧的请求,直到把旧请求处理完成才关掉该旧子进程。此时新版本的主进程会开启新的子进程,用来接收新的请求,实现了平滑过渡。2.4nginx模块.nginx高度模块化,模块表现为各种文件,但其模块早期不支持DSO机制;1.9.11版本支持动态装载和卸载.模块分类:三大类a)核心模块:coremoduleb)标准模块:分为三类1)HTTP 模块:ngx_http_* HTTP Core modules 默认功能 HTTP Optionalmodules 需编译时指定 2)Mail模块ngx_mail_*3)Stream 模块ngx_stream_*c)第三方模块
页:
[1]