码迷,mamicode.com
首页 > 其他好文 > 详细

Nginx系列(四)--工作原理

时间:2015-07-03 10:37:24      阅读:101      评论:0      收藏:0      [点我收藏+]

标签:

         上篇文章介绍了Nginx框架的设计之管理进程以及多个工作进程的设计,master进程用来管理通过fork子进程与子进程通信,子进程通过处理进程信号接到master的通信去处理请求。

 

Nginx工作原理:

          Nginx会按需同时运行多个进程:一个主进程和几个工作进程,配置了缓存时还会有缓存加载器进程(cache loader)和缓存管理器进程(cache manager)等。所有进程均是仅含有一个线程,并主要通过“共享内存”的机制实现进程间通信。主进程以root用户身份运行,而workercache loadercache manager均应以非特权用户身份运行。

 

一、Nginx模块常规的HTTP请求和响应的过程:

技术分享

          当它接收到一个HTTP请求时,它仅仅是通过查找配置文件将此次请求映射到一个location block,而此location中配置的各个指令则会启动不同的模块去完成工作,因此模块可以看做Nginx真正的劳动工作者。通常一个location中的指令会涉及一个handler模块和多个filter模块(当然,多个location可以服用同一个模块)。handler模块负责处理请求,完成响应内容的生成,而filter模块对响应内容进行处理。

 

二、Nginx作为Http反向代理服务器的用法:

         由于Nginx具有“强悍”的高并发高负载能力,因此一般会作为前段的服务器直接向客户端提供静态文件服务。但也有一些复杂、多变的业务不适合放到Nginx服务器上,这时会用ApacheTomcat等服务器来处理。于是,Nginx通常会被配置为既是静态Web服务器也是反向代理服务器,不适合Nginx处理的请求就会直接转发到上游服务器中处理。

     Nginx作为HTTP服务器以及反向代理服务器:

技术分享

 

Nginx作为反向代理服务器时转发请求的流程:

技术分享

          Nginx减轻了上游服务器的并发压力;延长了一个请求的处理时间,并增加了用于缓存请求内容的内存和磁盘空间。

 

三、总结

          Nginx是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器。工作原理也很简单,通过转发请求,分担压力,从而减轻服务器的压力,达到负载均衡的效果。

版权声明:本文为博主原创文章,未经博主允许不得转载。

Nginx系列(四)--工作原理

标签:

原文地址:http://blog.csdn.net/liutengteng130/article/details/46724081

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!