nginx概述

  • web 服务器

  • 反向代理

    • 可以复杂均衡和后端的健康检查

    • 但需要插件支持,而插件只支持 nginx的1.0版 

  • 淘宝改进了nginx,提供tengie

  • 提供硬盘缓存

    • varnish,cache内存缓存

  • fastcgi支持     

  • 支持图片直接缩放

  • 支持 基于名字和IP的 虚拟主机

  • 平滑升级 

  • 带缓存日志写操作

  • 错误代码重定向

  • rewrite

  • 根据浏览器类型返回不同页面

  • 支持验证httpd referer支持 

    • 通过哪个链接访问

    • 支持反盗链

  • 支持flv和mp4视频流

  • 支持限速

  • 高度模块化,很多功能都是模块在提供 

  • 模块以流水线的方式工作

    • 不同的需求串联不同的模块组成流水线

  • 支持sendfile

    • 数据从硬盘到内核直接响应给网卡,而不用复制给进程再复制给内核再封装给网卡

  • 10000个非活动连接只占用2.5M内存 

nginx启动

  • master主进程功能

    • 管理员身份启动

    • 只有root有权限启动小于1023的端口

    • 读取并验证配置信息

    • 创建绑定及关闭套接字

    • 启动、中止及维护worker进程的个数

    • 无须中止服务而重新配置工作特性

    • 控制非中断式程序升级,启用新的二进制并在需要时返回老版本

    • 重新打开日志文件,实现日志滚动

    • 编译嵌入式perl脚本

  • worker任务功能

    • 接收传入并处理来自客户端的链接

    • 提供反向代理及过滤功能

    • nginx任何能完成的其他任务

  • cache loader进程的任务

    • 检查缓存存储中的缓存对象

    • 使用缓存元数据建立内存数据库

  • cache manager主要任务

    • 缓存失效及过去清理