一、Nginx简介

1.1Nginx特性

  • 模块化设计,较好的扩展性

  • 高可靠性

  • 支持热部署:不停机更新配置文件,升级版本,更换日志文件

  • 低内存消耗:10000个keep-alive连接模式下的非活动连接,仅 需要2.5M内存event-driven,aio,mmap,sendfile

1.2Nginx的基本功能

  • 静态资源的web服务器

  • http协议反向***服务器

  • pop3/imap4协议反向***服务器

  • FastCGI(lnmp),uWSGI(python)等协议

  • 模块化(非DSO),如zip,SSL模块

1.3Nginx与web服务相关的功能

  • 虚拟主机(server)

  • 支持 keep-alive 和管道连接

  • 访问日志(支持基于日志缓冲提高其性能)

  • url rewirte 路径别名

  • 基于IP及用户的访问控制

  • 支持速率限制及并发数限制

  • 重新配置和在线升级而无须中断客户的工作进程

  • Memcached 的 GET 接口

二、Nginx服务架构

master/worker结构

  • master进程:负责加载和分析配置文件、管理worker进程,平滑升级

  • worker进程:接收客户端请求、将请求一次送入各模块过滤、I/O调用、数据缓存、发送响应

  • cache相关进程:cache loader (缓存索引重建)与cache manager(缓存索引管理)组成

  • –Cache loader在Nginx服务启动后由主进程生成,根据本地磁盘上缓存建立索引元数据库后退出。

  • –Cache manager在元数据更新完成后,对元数据是否过期做出判断。

三、Nginx的配置文件结构

配置文件的组成部分

  • 主配置文件:nginx.conf

  • 子配置文件:include conf.d/*.conf

  • fastcgi、uwsgi、scgi:等协议相关的配置文件。在根路径下

  • mime.types:支持的mime类型。在根路径下

四、基本配置实例讲解