Nginx 介绍

Nginx

Nginx(engine x)是一个高性能的代理服务器,主要作为HTTP server,HTTP reverse proxy server,mail proxy server,TCP/UDP proxy server。

主要工作在OSI的七层模型,也可以提供伪四层的负载均衡。

Nginx 是一个很强大的高性能Web和反向代理服务器,在连接高并发的情况下,Nginx是Apache服务器不错的替代品,能够支持高达 50,000 个并发连接数的响应。

三大核心功能:

  • http
    -- web服务器
    -- HTTP reverse proxy server

  • mail
    --mail proxy server

  • stream
    --TCP/UDP proxy server(伪四层代理,类似于LVS)

Nginx中联系最多的就是http协议

HTTP术语

URL:资源统一定位符

  shceme://[username[:password@]]host:port/path;params?uid=1#tr

http事务:request <--> response

headers:

  • 通用头部(General Headers)
  • 请求头部(Response Headers)
  • 回应头部(Request Headers)

request:

  
HEADERS         

response:

  
HEADERS 
      
name: value

Method:GET/HEAD/POST, PUT/DELETE, TRACE, OPTIONS

Status Code:

  • 1xx:
  • 2xx:成功类响应码,200
  • 3xx:重定向类的响应码,301, 302, 304
  • 4xx:客户端错误,403,404
  • 5xx:服务器端错误,502

认证:

  • 基于ip认证
  • 基于用户认证 :basic/digest

httpd MPM:

  • prefork:进程模型,两级结构,主进程master负责生成子进程,每个子进程负责响应一个请求;

  • worker:线程模型,三级结构,主进程master负责生成子进程,每个子进程负责生成多个线程,每个线程响应一个请求;

  • event:主进程master负责生成子进程,每个子进程响应多个请求

Nginx的程序架构:

master/worker

一个master进程:负载加载和分析配置文件、管理worker进程、平滑升级
一个或多个worker进程:处理并响应用户请求
缓存相关的进程:

  • cache loader:载入缓存对象
  • cache manager:管理缓存对象

特性:

异步、事件驱动和非阻塞
并发请求处理:通过epoll/select
文件IO:高级IO sendfile,异步,mmap

nginx模块

高度模块化,但其模块早期不支持DSO机制;近期版本支持动态装载和卸载;

模块分类:

  • 核心模块:core module
  • 标准模块:
    -- HTTP modules:
    Standard HTTP modules
    Optional HTTP modules
    -- Mail modules
    -- Stream modules:传输层代理
  • 3rd party modules

nginx的功用

静态的web资源服务器;(图片服务器,或js/css/html/txt等静态资源服务器)
结合FastCGI/uwSGI/SCGI等协议反代动态资源请求;
http/https协议的反向代理;
imap4/pop3协议的反向代理;
tcp/udp协议的请求转发;

你可能感兴趣的:(Nginx 介绍)