Nginx系列(四)--工作原理
上篇文章介绍了Nginx框架的设计之管理进程以及多个工作进程的设计。master进程用来管理通过fork子进程与子进程通信。子进程通过处理进程信号接到master的通信去处理请求。
Nginx工作原理:
Nginx会按需同一时候执行多个进程:一个主进程和几个工作进程,配置了缓存时还会有缓存载入器进程(cache loader)和缓存管理器进程(cache
manager)等。全部进程均是仅含有一个线程,并主要通过“共享内存”的机制实现进程间通信。主进程以root用户身份执行,而worker、cache
loader和cache manager均应以非特权用户身份执行。
一、Nginx模块常规的HTTP请求和响应的过程:
当它接收到一个HTTP请求时。它不过通过查找配置文件将此次请求映射到一个location
block,而此location中配置的各个指令则会启动不同的模块去完毕工作。因此模块能够看做Nginx真正的劳动工作者。通常一个location中的指令会涉及一个handler模块和多个filter模块(当然。多个location能够服用同一个模块)。handler模块负责处理请求,完毕响应内容的生成,而filter模块对响应内容进行处理。
二、Nginx作为Http反向代理server的使用方法:
因为Nginx具有“强悍”的高并发高负载能力,因此通常会作为前段的server直接向client提供静态文件服务。
但也有一些复杂、多变的业务不适合放到Nginxserver上。这时会用Apache、Tomcat等server来处理。于是,Nginx通常会被配置为既是静态Webserver也是反向代理server,不适合Nginx处理的请求就会直接转发到上游server中处理。
Nginx作为HTTPserver以及反向代理server:
Nginx作为反向代理server时转发请求的流程:
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbGl1dGVuZ3RlbmcxMzA=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
Nginx减轻了上游server的并发压力。延长了一个请求的处理时间,并添加了用于缓存请求内容的内存和磁盘空间。
三、总结
Nginx是一个高性能的HTTP和反向代理server,也是一个IMAP/POP3/SMTPserver。
工作原理也非常easy,通过转发请求,分担压力,从而减轻server的压力,达到负载均衡的效果。
Nginx系列(四)--工作原理的更多相关文章
- Nginx 反向代理工作原理简介与配置详解
Nginx反向代理工作原理简介与配置详解 by:授客 QQ:1033553122 测试环境 CentOS 6.5-x86_64 nginx-1.10.0 下载地址:http://nginx. ...
- Nginx、Apache工作原理及Nginx为何比Apache高效
Nginx才短短几年,就拿下了web服务器大笔江山,众所周知,Nginx在处理大并发静态请求方面,效率明显高于httpd,甚至能轻松解决C10K问题. 在高并发连接的情况下,Nginx是Apache服 ...
- Nginx与PHP工作原理
Nginx的工作原理 1.Nginx的模块与工作原理 Nginx由内核和模块组成,其中,内核的设计非常微小和简洁,完成的工作也非常简单,仅仅通过查找配置文件将客户端请求映射到一个location bl ...
- LVS、Nginx 及 HAProxy 工作原理
当前大多数的互联网系统都使用了服务器集群技术,集群是将相同服务部署在多台服务器上构成一个集群整体对外提供服务,这些集群可以是 Web 应用服务器集群,也可以是数据库服务器集群,还可以是分布式缓存服务器 ...
- 一文详解 LVS、Nginx 及 HAProxy 工作原理( 附大图 )
当前大多数的互联网系统都使用了服务器集群技术,集群是将相同服务部署在多台服务器上构成一个集群整体对外提供服务,这些集群可以是 Web 应用服务器集群,也可以是数据库服务器集群,还可以是分布式缓存服务器 ...
- 【转】Nginx系列(四)--工作原理
原博文出于: http://blog.csdn.net/liutengteng130/article/details/46724081 感谢! 上篇文章介绍了Nginx框架的设计之管理进程以及 ...
- Nginx系列一:正向代理和反向代理、Nginx工作原理、Nginx常用命令和升级、搭建Nginx负载均衡
转自https://www.cnblogs.com/leeSmall/p/9351343.html 仅供个人学习 一.什么是正向代理.什么是反向代理 1. 正向代理,意思是一个位于客户端和原始服务器( ...
- “Ceph浅析”系列之五——Ceph的工作原理及流程
本文将对Ceph的工作原理和若干关键工作流程进行扼要介绍.如前所述,由于Ceph的功能实现本质上依托于RADOS,因而,此处的介绍事实上也是针对RADOS进行.对于上层的部分,特别是RADOS GW和 ...
- RabbitMQ系列(二)深入了解RabbitMQ工作原理及简单使用
深入了解RabbitMQ工作原理及简单使用 RabbitMQ系列文章 RabbitMQ在Ubuntu上的环境搭建 深入了解RabbitMQ工作原理及简单使用 RabbitMQ交换器Exchange介绍 ...
随机推荐
- Loadrunner得到server參数
首先你得确定你所监视的server与你的測试机是在同一个局域网内, 监控windows系统: 1.监视连接前的准备工作 1)进入被监视windows系统.开启下面二个服务Remote ...
- 折腾开源WRT的AC无线路由之路-5
-在Mac上设置无password连接SSH 1. 生成SSH密钥对 <pre name="code" class="html">ssh-keyge ...
- flume採集数据导入elasticsearch 配置
Flume启动通常会报两种错,一种是log4j没有配置,第二种就是缺少各种jar包.SO: [root@laiym ~]# cp /usr/local/elasticsearch/lib/*/usr/ ...
- C# 监控Windows睡眠与恢复
SystemEvents.PowerModeChanged += SystemEvents_PowerModeChanged; private void SystemEvents_PowerModeC ...
- angularjs1-7,http,location
<!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content ...
- query.setFirstResult解析
转自:https://blog.csdn.net/thinkingcao/article/details/78053622
- element-ui自定义table表头,修改列标题样式
elementUI table表格一般的样式是这样的: 但是要改变表头是比较麻烦的一个事情,但是往往有些项目是需要的比如改成如下样式: 一般直接改起来挺麻烦,好在官网提供了一个方法:render-he ...
- layui序章
layui,layer,laydate关系图,layer和laydate作为layui的独立模块存在 下载地址:layer.layui.com
- Edge 通过代理无法打开网页,解决方案
netsh winhttp import proxy source=ie
- Xml实现图片旋转
1. 需求:不使用Java代码,实现旋转图片动画 2.实现:使用Progressbar控件 3. anim/anim_loading.xml <?xml version="1.0&qu ...