LNMP详解(一)——Nginx详解

今天继续给大家介绍Linux运维的相关知识,本文主要内容是Nginx基本知识。

一、Nginx简介

Nginx是一个高性能的HTTP和反向代理服务器,由俄罗斯Rambler.ru站点开发,源代码以BSD许可证的形式发布。Nginx对比Apache,其显著特点是内存占用小,并发能力强。在标准服务器上,Nginx通常比Aapche所能够提供的并发量高5-10倍。
Nginx官网网址为:http://nginx.org/,网页如下所示:
在这里插入图片描述
Nginx的下载在官网上点击Download按钮即可,下载页面如下所示:
在这里插入图片描述
可以注意到,Nginx的下载页面中,有Mainline version、Stable version和Legacy versions三种版本。这三种版本分别命名为主线版本、稳定版本和历史版本。
主线版本是开发和测试版本,通常被一些大公司进行二次开发使用,一般为奇数版本。稳定版本通常是修复了一些bug之后的版本,较为稳定,为中小型公司所青睐,一般为偶数版本。历史版本则是之前的稳定版本。
在这里,我们可以下载到我们需要的Nginx版本。

二、Nginx工作原理

Nginx由内核和模块组成,与操作系统的设计类似。Nginx的内核的设计非常微小和简洁,完成的工作也仅仅是通过查找配置文件将客户端的请求映射到i个配置区域(location block),location是Nginx中的一个指令,用于匹配用户访问的URL路径,在location模块中,每个指令将会启动不同的模块去完成相应的工作。Nginx的处理流程如下:
在这里插入图片描述

三、Nginx高并发原因

Nginx之所以比Apache并发量高,是因为采用了epoll模型,而Apache采用了select模型。
select模型的特点是对句柄时间的处理是遍历所有句柄,因此效率比较低。
epoll模型的特点是对句柄事件的选择不是遍历的,而是事件响应的,出现句柄事件会被立即选择处理,不需要遍历整个句柄列表,因此处理效率很高。

四、Nginx进程介绍

当Nginx服务被开启后,会启动Master进程,监听80端口,同时该进程会生成很多worker进程,当Nginx处理HTTP请求时,会由一个Worker进程被选择出来,读取请求、解析请求、处理请求并生成数据返回。

五、Nginx模块介绍

在本文第二章我们讲到,Nginx是由内核和模块构成。Nginx的模块从结构上,可以分为核心模块、基础模块和第三方模块。这些模块主要包括如下部分:
1、核心模块:HTTP模块、EVENT模块和MAIL模块。
2、基础模块:HTTP Access模块、HTTP FastCGI模块、HTTP Proxy模块和HTTP Rewrite模块。
3、第三方模块:HTTP Upstream Request Hash模块、Notice模块、HTTP Access Key模块和Limit_req模块等。
如果从功能上分,Nginx的模块又可以分为以下三类:
1、处理器模块(Handlers)。 此模块直接处理请求,并进行输出内容和修改headers信息等操作,处理器模块一般只能有1个。
2、过滤器模块(Filters)。 此模块主要对其他处理器模块输出的内容进行修改操作,最后由Nginx输出。
3、代理类模块(Proxies)。 此类模块主要与一些后端服务FastCGI等进行交互,实现服务代理和负载均衡等功能。
原创不易,转载请说明出处:https://blog.csdn.net/weixin_40228200

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

永远是少年啊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值