一、介绍
1、概述
nginx是一款开发轻量级的网页服务器、反向代理服务器及电子邮件(IMAP/POP3)代理服务器。
2、nginx优势
(1)作为web服务器:处理静态文件、索引文件、自动索引的效率较高。
(2)作为代理服务器:实现五缓存的反向代理加速,提高网站运行速度。
(3)作为负载均衡服务器:其内部支持Rails和PHP,也可以支持Http代理服务器对外进行服务。
(4)在性能方面:采用epoll模型,可以支持更多的并发连接,最大可以支持对5万个并发连接数数的响应。
(5)在稳定性方面:采取分阶段资源分配技术,使用cpu和内存的占用率非常低。
(6)在高可用方面:支持热部署、平滑升级、启动速度快,可保证7*24小时不间断运行。
3、nginx的企业级应用场景
(1)使用nginx结合FastCGI运行PHP、JSP、Perl等程序。
(2)使用nginx作反向代理、负载均衡、规则过滤。
(3)使用nginx运行静态HTML页、图片
(4)使用nginx加cache插件实现对web服务器缓存功能
4、nginx的处理请求过程
首先,nginx在启动时,会解析配置文件,得到需要坚挺的端口和ip地址,然后在nginx的master进程里面先初始
化好这个监控的socket,再进行listen,然后再fork出多个子进程出来,子进程会竞争accept新的连接。此时,
客户端就可以向nginx发起连接了。当客户端与nginx进行三次握手,与nginx建立好一个链接后,此时,某一个子
进程会accept成功,然后创建nginx对连接的封装,即ngx_connection_t结构体。接着,根据事件调用相应的时
间处理模块,如HTTP模块与客户端进行数据的交换。最后,nginx或客户端来主动关掉连接。到此,一个链接就完
成了。