jjfjjj 发表于 2018-11-10 12:42:25

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 rewirte
  5)路径别名
  6)基于IP及用户的访问控制
  7)支持速率限制及并发数限制
  8)Memcached的GET 接口
  9)重新配置和在线升级而无须中断客户的工作进程,比如升级过程,旧的主进程会被关掉,同时开启一个新版本的主进程。但是,旧的子进程不受影响,会继续处理旧的请求,直到把旧请求处理完成才关掉该旧子进程。此时新版本的主进程会开启新的子进程,用来接收新的请求,实现了平滑过渡。
  2.4nginx模块
  .nginx高度模块化,模块表现为各种文件,但其模块早期不支持DSO机制;1.9.11版本支持动态装载和卸载
  .模块分类:三大类
  a)核心模块:coremodule
  b)标准模块:分为三类
  1)HTTP 模块:ngx_http_*
  HTTP Core modules 默认功能
  HTTP Optionalmodules 需编译时指定
  2)Mail模块ngx_mail_*
  3)Stream 模块ngx_stream_*
  c)第三方模块

页: [1]
查看完整版本: Nginx 之 Nginx概念介绍