zl程序教程

您现在的位置是:首页 >  其他

当前栏目

nginx 工作原理及特点

2023-04-18 13:14:05 时间

本文为博主原创,未经允许不得转载:

  1. nginx 简介:是一个高性能 HTTP 和 反向代理 服务器。

  2. Nginx 特点是占有内存少,并发能力强,事实上 Nginx 的并发能力确实在同类型的网页服务器中表现较好。

   3. Nginx 相对于 Apache 优点如下:

      • 高并发响应性能非常好,官方 Nginx 处理静态文件并发 5w/s

      • 负载均衡及反向代理性能非常强;

      • 系统内存和 CPU 占用率低;

      • 可对后端服务进行健康检查;

      • 支持 PHP cgi 方式和 FastCGI 方式;

      • 可以作为缓存服务器、邮件代理服务器;

      • 配置代码简洁且容易上手。

  4.Nginx 工作原理

    Nginx WEB 服务器最主要就是各种模块的工作,模块从结构上分为核心模块、基础模块和第三方模块,其中三类模块分别如下

      • 核心模块:HTTP 模块、EVENT 模块和 MAIL 模块等;

      • 基础模块:HTTP Access 模块、HTTP FastCGI 模块、HTTP Proxy 模块和 HTTP Rewrite 模块;

      • 第三方模块:HTTP Upstream Request Hash 模块、Notice 模块和 HTTP Access Key模块、Limit_req 模块、Upstream check module 等

   5. nginx 工作模型

    Nginx的高并发得益于其采用了epoll模型,与传统的服务器程序架构不同,epoll是Linux 内核 2.6 以后才出现的,Nginx 采用 epoll 模型,异步非阻塞,

  而 apache 采用的是 select 模型。

    Select特点:

      select 选择句柄的时候,是遍历所有句柄,也就是说句柄有事件响应时,select需要遍历所有句柄才能获取到哪些句柄有事件通知,

                 因此效率是非常低。

    epoll 的特点:

      epoll 对于句柄事件的选择不是遍历的,是事件响应的,就是句柄上事件来就马上选择出来,不需要遍历整个句柄链表,因此效率非常高

     Nginx 默认以 80 端口监听在服务器上,并且启动一个 master 进程,同时有 master  进程生成多个工作进程,