博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Nginx系列(四)--工作原理
阅读量:6256 次
发布时间:2019-06-22

本文共 975 字,大约阅读时间需要 3 分钟。

         上篇文章介绍了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反向代理server的使用方法:

         因为Nginx具有“强悍”的高并发高负载能力,因此通常会作为前段的server直接向client提供静态文件服务。

但也有一些复杂、多变的业务不适合放到Nginxserver上。这时会用ApacheTomcat等server来处理。于是,Nginx通常会被配置为既是静态Webserver也是反向代理server,不适合Nginx处理的请求就会直接转发到上游server中处理。

     Nginx作为HTTPserver以及反向代理server:

 

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

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

 

三、总结

          Nginx是一个高性能的HTTP和反向代理server,也是一个IMAP/POP3/SMTPserver。

工作原理也非常easy,通过转发请求,分担压力,从而减轻server的压力,达到负载均衡的效果。

你可能感兴趣的文章
微软Azure云之企业Exchange 2016部署5—配置DC可用性集
查看>>
并发计算测试
查看>>
centos系统安装好之后必须要改的两个地方
查看>>
我的友情链接
查看>>
编译boost
查看>>
JFinal使用JSP写的分页组件
查看>>
php 遍历多级菜单
查看>>
Aruba AC如何通过CLI备份及导入导出
查看>>
4、OC —— 构造方法
查看>>
我的友情链接
查看>>
Zabbix图像支持中文
查看>>
java异常类总结
查看>>
SSH端口修改
查看>>
2011年度51cto博客大赛
查看>>
php归档函数(按时间)实现
查看>>
apache httpd 禁止目录浏览 及 安全配置
查看>>
unix系统编程小结(二)------文件和目录
查看>>
为什么colorbox要比fancybox强?
查看>>
Java 8新特性探究(8):精简的JRE详解
查看>>
centos6.5下Zabbix系列之Zabbix安装搭建
查看>>