轻量级HTTP服务器Nginx:模块与工作原理

风信网(ithov.com)原创文章:Nginx由内核和模块组成,其中,内核的设计非常微小和简洁,完成的工作也非常简单,仅仅通过查找配置文件将客户端请求映射到一个location block(location是Nginx配置中的一个指令,用于URL匹配),而在这个location中所配置的每个指令将会启动不同的模块去完成相应的工作。

Nginx的模块从结构上分为核心模块、基础模块和第三方模块,HTTP模块、EVENT模块和MAIL模块等属于核心模块,HTTP Access模块、HTTP FastCGI模块、HTTP Proxy模块和HTTP Rewrite模块属于基础模块,而HTTP Upstream Request Hash模块、Notice模块和HTTP Access Key模块属于第三方模块,用户根据自己的需要开发的模块都属于第三方模块。正是有了这么多模块的支撑,Nginx的功能才会如此强大。

&">nbsp;   Nginx的模块从功能上分为如下三类。

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

图I-I展示了Nginx模块常规的HTTP请求和响应的过程。

图1-1 Nginx模块的HTTP请求和响应过程

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

Nginx的模块直接被编译进Nginx,因此属于静态编译方式。启动Nginx后,Nginx的模块被自动加载,不像Apache,首先将模块编译为一个SO文件,然后在配置文件中指定是否进行加载。在解析配置文件时,Nginx的每个模块都有可能去处理某个请求,但是同一个处理请求只能由一个模块来完成。

时间: 2024-08-08 10:18:10

轻量级HTTP服务器Nginx:模块与工作原理的相关文章

《高性能Linux服务器构建实战》——1.3节Nginx的模块与工作原理

1.3 Nginx的模块与工作原理Nginx由内核和模块组成,其中,内核的设计非常微小和简洁,完成的工作也非常简单,仅仅通过查找配置文件将客户端请求映射到一个location block(location是Nginx配置中的一个指令,用于URL匹配),而在这个location中所配置的每个指令将会启动不同的模块去完成相应的工作.Nginx的模块从结构上分为核心模块.基础模块和第三方模块, HTTP模块.EVENT模块和MAIL模块等属于核心模块,HTTP Access模块.HTTP FastCG

轻量级HTTP服务器Nginx入门

一.什么是Nginx 相信很多读者都对Apache非常熟悉,与Apache类似,Nginx是一款高性能的HTTP和反向代理服务器软件,也是一个 IMAP/POP3/SMTP 代理服务器.Nginx(发音是"engine x")由俄罗斯的程序设计师Igor Sysoev所开发(Igor将源代码以类BSD许可证的形式发布),可以运行在UNIX,GNU/Linux,BSD,Mac OS X, Solaris, 以及 Microsoft Windows等操作系统中.随着Nginx在很多大型网站

《高性能Linux服务器构建实战》——第1章轻量级HTTP服务器Nginx

第1章 轻量级HTTP服务器Nginx本章主要介绍Nginx的配置管理和使用.作为一个轻量级的HTTP服务器,Nginx与Apache相比有以下优势:在性能上,它占用很少的系统资源,能支持更多的并发连接,达到更高的访问效率:在功能上,Nginx是优秀的代理服务器和负载均衡服务器:在安装配置上,Nginx安装简单.配置灵活.下面就详细介绍Nginx的配置与使用.

轻量级HTTP服务器Nginx的配置与调试

Nginx安装完毕后,会产生相应的安装目录,根据前面的安装路径,Nginx的配置文件路径为/opt/nginx/conf,其中nginx.conf为Nginx的主配置文件.这里重点介绍下nginx.conf这个配置文件. Nginx配置文件主要分成四部分:main(全局设置).server(主机设置).upstream(负载均衡服务器设置)和 location(URL匹配特定位置的设置).main部分设置的指令将影响其他所有设置:server部分的指令主要用于指定主机和端口:upstream指令

轻量级HTTP服务器Nginx的安装

一.下载与安装Nginx Nginx的官方网站是http://sysoev.ru/nginx/,英文主页为http://nginx.net,从这里可以获得Nginx的最新版本信息.Nginx有三个版本:稳定版.开发版和历史稳定版.开发版更新较快,包含最新的功能和bug的修复,但同时也可能会遇到新的bug,开发版一旦更新稳定下来,就会被加入稳定版分支中.然而有些新功能不一定会被加到旧的稳定版中去.稳定版本更新较慢,但是bug较少,可以作为生产环境的首选,因此通常建议使用稳定版.历史稳定版本为以往稳

轻量级HTTP服务器Nginx:为何要选择Nginx

风信网(ithov.com)原创文章:本章主要介绍Nginx的配置管理和使用.作为一个轻量级的HTTP服务器,Nginx与Apache相比有以下优势:在性能上,它占用很少的系统资源,能支持更多的并发连接,达到更高的访问效率:在功能上,Nginx是优秀的代理服务器和负载均衡服务器:在安装配置上,Nginx安装简单.配置灵活.下面就详细介绍Nginx的配置与使用. 什么是Nginx 相信很多读者都对Apache非常熟悉,Nginx与Apache类似,也是一款高性能的HTTP和反向代理服务器软件,还是

轻量级HTTP服务器Nginx:常用配置实例

风信网(ithov.com)原创文章:Nginx作为一个HTTP服务器,在功能实现方面和性能方面都表现得非常卓越,完全可以与http://www.aliyun.com/zixun/aggregation/14417.html">Apache相媲美,几乎可以实现Apachc的所有功能.下面就介绍一些Nginx常用的配置实例,具体包含虚拟主机配置.负载均衡配置.防盗链配置以及日志管理等. 1.虚拟主机配置实例 下面在Nginx中创建3个虚拟主机,需要说明的是,这里仅仅列出了虚拟主机的配置部分.

轻量级HTTP服务器Nginx:安装与配置

风信网(ithov.com)原创文章:以下内容涉及到Nginx的安装与配置,大家可以通过详细的安装说明来进行学习. 下载与安装Nginx &http://www.aliyun.com/zixun/aggregation/37954.html">nbsp;   Nginx的官方网站是http://sysoev.ru/nginx/,英文主页为http://nginx.net,从这里可以获得Nginx的最新版本信息.Nginx有三个版本:稳定版.开发版和历史稳定版.开发版更新较快,包含最

轻量级HTTP服务器Nginx:性能优化技巧

风信网(ithov.com)原创文章:以下内容针对Nginxhttp://www.aliyun.com/zixun/aggregation/14109.html">性能优化技巧进行说明,分别从编译安装过程优化.利用TCMalloc优化Nginx的性能和Nginx内核参数优化,希望对大家更深入的了解Nginx能起到一些帮助. 编译安装过程优化 1.减小Nginx编译后的文件大小 在编译Nginx时,默认以debug模式进行,而在debug模式下会插入很多跟踪和ASSERT之类的信息,编译完成