Nginx
一、Nginx概述
Nginx(“engine x”)是一个开源的,支持高性能、高并发的web服务和代理服务软件。它由俄罗斯人Igor Sysoev开发的,最初应用于俄罗斯的大型网站www.rambler.ru上。后来作者将源代码以类似BSD许可证的形式开源出来供全球使用。
Nginx因具有高并发(特别是静态资源)、占用系统资源少等特性,且功能丰富而逐渐流行起来。在功能应用方面,Nginx不但是一个优秀的Web服务软件,还具有反向代理、负载均衡功能和缓存服务功能。在反向代理负载均衡功能方面,它类似于大名鼎鼎的LVS负载均衡及Haproxy等专业代理软件,但是Nginx部署起来更为简单、方便。
Nginx可以运行目前世界上的大多数主流操作系统上,随着多年的开发优化,Nginx正在逐渐的趋于稳定,市场占用率逐年增高,未来很有可能成为替代apache的web服务软件。据Nginx官网介绍,单台Nginx最高可以支持50000并发。当前流行的Nginx web组合被称为LNMP或LEMP。
二、Nginx实现原理
Nginx核心组件:
核心模块:HTTP模块、EVENT事件模块、MAIL模块
基础模块:HTTP Access模块、HTTP FastCGI模块、HTTP Proxy模块、HTTP Rewite模块
第三方模块:HTTP Upstream模块、Request Hash模块、HTTP Access Key模块。
Nginx进程模型:
master进程:
1.接收外界传递给Nginx的信号,进而管理服务的状态等;
2.管理worker进程,向各worker进程发送信号,监控worker进程的运行状态,当worker进程异