千家信息网

Nginx工作原理

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,Nginx 工作原理Nginx 由内核和模块组成。Nginx 本身做的工作实际很少,当它接到一个 HTTP 请求时, 它仅仅是通过查找配置文件将此次请求映射到一个 location block,而此
千家信息网最后更新 2026年11月01日Nginx工作原理
  1. Nginx 工作原理
    Nginx 由内核和模块组成。
    Nginx 本身做的工作实际很少,当它接到一个 HTTP 请求时, 它仅仅是通过查找配置文件将此次请求映射到一个 location block,而此 location 中所配 置的各个指令则会启动不同的模块去完成工作,因此模块可以看做 Nginx 真正的劳动工作者。

通常一个 location 中的指令会涉及一个 handler 模块和多个 filter 模块(当然,多个 location 可以复用同一个模块)。handler 模块负责处理请求,完成响应内容的生成,而 filter 模块对响应内容进行处理。 用户根据自己的需要所开发的模块都属于第三方模块。正是有了这么多模块的支撑, Nginx 的功能才会如此强大。
Nginx 的模块从结构上分为核心模块、基础模块和第三方模块:

核心模块:HTTP 模块、EVENT 模块和 MAIL 模块; 
基础模块:HTTP Access 模块、HTTP FastCGI 模块、HTTP Proxy 模块和 HTTP Rewrite 模块;
第三方模块:HTTP Upstream Request Hash 模块、Notice 模块和 HTTP Access Key 模 块。

Nginx 的模块从功能上分为如下三类: 
Handlers(处理器模块):此类模块直接处理请求,并进行输出内容和修改 headers 信息等操作。Handlers 处理器模块一般只能有一个; Filters(过滤器模块):此类模块主要对其他处理器模块输出的内容进行修改操作,最后由 Nginx 输出; Proxies(代理类模块):此类模块是 Nginx 的 HTTP Upstream 之类的模块,这些模块主要与后端一些服务比如 FastCGI 等进行交互,实现服务代理和负载均衡等功能。

  1. Nginx 的进程模型 在工作方式上,Nginx 分为单工作进程和多工作进程两种模式。 
    在单工作进程模式下,除主进程外,还有一个工作进程,工作进程是单线程的; 
    在多工作进程模式下,每个工作进程包含多个线程。Nginx 默认为单工作进程模式。

Nginx 在启动后,会有一个 master 进程和多个 worker 进程。
master 进程主要用来管理 worker 进程,主要包含:接收来自外界的信号,向各 worker 进程发送信号,监控 worker 进程的运行状态,当 worker 进程退出后(异常情况下),会自动 重新启动新的 worker 进程。 master 进程充当整个进程组与用户的交互接口,同时对进程进行监护。它不需要处理网络事件,不负责业务的执行,只会通过管理worker 进程来实现重启服务、平滑升级、更换日志文件、配置文件实时生效等功能。

3.Nginx+FastCGI运行原理
Nginx 不支持对外部程序的直接调用或者解析,所有的外部程序(包括 PHP)必须通过FastCGI 接口来调用。FastCGI 接口在 Linux 下是 socket(这个 socket 可以是文件 socket, 也可以是 ip socket)。 wrapper 为了调用 CGI 程序,还需要一个 FastCGI 的 wrapper(wrapper 可以理解为用于启动另一个程序的程序),这个 wrapper 绑定在某个固定 socket 上,如端口或者文件 socket。当 Nginx 将 CGI 请求发送给这个 socket 的时候,通过 FastCGI 接口,wrapper 接收到请求,然后 Fork(派生)出一个新的线程,这个线程调用解释器或者外部程序处理脚本并读取返回数据;接着 wrapper 再将返回的数据通过 FastCGI 接口,沿着固定的 socket传递给 Nginx;最后 Nginx 将返回的数据(html 页面或者图片)发送给客户端。

模块 进程 工作 处理 程序 接口 文件 内容 功能 多个 模式 线程 处理器 数据 第三方 服务 输出 原理 信号 基础 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 中智农互联网科技 广州百单互联网科技有限公司 科技金融是不是互联网金融 金融科技还是互联网 互联网金融与金融科技 广州宏创互联网科技 迪茉互联网科技 互联网科技logo 郑州华宇互联网科技 未来五年的互联网科技 米聚互联网科技南京有限公司排面 华夏恒生互联网科技013171 长沙茂晟互联网科技有限公司 南博望互联网科技有限公司 江苏苏星互联网科技有限公司 宇信科技在杭州互联网排第几 互联网科技机房 杭州科技互联网公司有哪些 伍佰万互联网科技是干嘛的 恒生科技互联网指数十大成分股 广州紫鲸互联网科技有限公司 为想互联网科技怎么样 互联网科技卖菜 网络科技有限互联网 北京互联网络科技有限公司 常德市电业局互联网科技部 注册互联网科技公司经营范围大全 万物互联网智能科技 互联网科技职业技能培训学校 互联网对科技影响
0